diff --git a/ChangeLog b/ChangeLog index 3c25508c2..c8738b654 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-03-19 Iain Holmes + + * src/core/compositor.c (meta_compositor_set_active_window): Handle + compositor being disabled and don't crash. + 2008-03-19 Iain Holmes * src/core/compositor.c (meta_compositor_set_active_window): Add a diff --git a/src/core/compositor.c b/src/core/compositor.c index 425f9c8ef..188cae314 100644 --- a/src/core/compositor.c +++ b/src/core/compositor.c @@ -2744,11 +2744,19 @@ meta_compositor_set_active_window (MetaCompositor *compositor, MetaWindow *window) { #ifdef HAVE_COMPOSITE_EXTENSIONS - MetaDisplay *display = compositor->display; - Display *xdisplay = display->xdisplay; + MetaDisplay *display; + Display *xdisplay; MetaCompWindow *old_focus = NULL, *new_focus = NULL; - MetaCompScreen *info = screen->compositor_data; - MetaWindow *old_focus_win = info->focus_window; + MetaCompScreen *info; + MetaWindow *old_focus_win; + + if (compositor == NULL) + return; + + display = compositor->display; + xdisplay = display->xdisplay; + info = screen->compositor_data; + old_focus_win = info->focus_window; if (old_focus_win) {