mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 17:10:40 -05:00
meta_display_screen_for_root() can return NULL, so check for that. Fixes
2008-07-13 Thomas Thurman <tthurman@gnome.org> * src/core/display.c (event_callback): meta_display_screen_for_root() can return NULL, so check for that. Fixes #422242. Also tidying. svn path=/trunk/; revision=3788
This commit is contained in:
parent
dacf784498
commit
34fe81fabd
@ -1,3 +1,8 @@
|
|||||||
|
2008-07-13 Thomas Thurman <tthurman@gnome.org>
|
||||||
|
|
||||||
|
* src/core/display.c (event_callback): meta_display_screen_for_root()
|
||||||
|
can return NULL, so check for that. Fixes #422242. Also tidying.
|
||||||
|
|
||||||
2008-07-13 Elijah Newren <newren gmail com>
|
2008-07-13 Elijah Newren <newren gmail com>
|
||||||
|
|
||||||
* src/core/workspace.c (meta_workspace_free): Don't attempt to
|
* src/core/workspace.c (meta_workspace_free): Don't attempt to
|
||||||
|
@ -1910,11 +1910,13 @@ event_callback (XEvent *event,
|
|||||||
meta_event_mode_to_string (event->xfocus.mode),
|
meta_event_mode_to_string (event->xfocus.mode),
|
||||||
meta_event_detail_to_string (event->xfocus.detail));
|
meta_event_detail_to_string (event->xfocus.detail));
|
||||||
}
|
}
|
||||||
else if (meta_display_screen_for_root (display,
|
else
|
||||||
event->xany.window) != NULL)
|
|
||||||
{
|
{
|
||||||
MetaScreen * screen;
|
MetaScreen *screen =
|
||||||
screen = meta_display_screen_for_root (display, event->xany.window);
|
meta_display_screen_for_root(display,
|
||||||
|
event->xany.window);
|
||||||
|
if (screen == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focus %s event received on root window 0x%lx "
|
"Focus %s event received on root window 0x%lx "
|
||||||
@ -1930,17 +1932,24 @@ event_callback (XEvent *event,
|
|||||||
event->xfocus.detail == NotifyDetailNone)
|
event->xfocus.detail == NotifyDetailNone)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focus got set to None, probably due to brain-damage in the X protocol (see bug 125492). Setting the default focus window.\n");
|
"Focus got set to None, probably due to "
|
||||||
|
"brain-damage in the X protocol (see bug "
|
||||||
meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_get_current_time_roundtrip (display));
|
"125492). Setting the default focus window.\n");
|
||||||
|
meta_workspace_focus_default_window (screen->active_workspace,
|
||||||
|
NULL,
|
||||||
|
meta_display_get_current_time_roundtrip (display));
|
||||||
}
|
}
|
||||||
else if (event->type == FocusIn &&
|
else if (event->type == FocusIn &&
|
||||||
event->xfocus.mode == NotifyNormal &&
|
event->xfocus.mode == NotifyNormal &&
|
||||||
event->xfocus.detail == NotifyInferior)
|
event->xfocus.detail == NotifyInferior)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
"Focus got set to root window, probably due to gnome-session logout dialog usage (see bug 153220). Setting the default focus window.\n");
|
"Focus got set to root window, probably due to "
|
||||||
meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_get_current_time_roundtrip (display));
|
"gnome-session logout dialog usage (see bug "
|
||||||
|
"153220). Setting the default focus window.\n");
|
||||||
|
meta_workspace_focus_default_window (screen->active_workspace,
|
||||||
|
NULL,
|
||||||
|
meta_display_get_current_time_roundtrip (display));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user