summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Thurman <tthurman@gnome.org>2008-03-26 13:32:58 +0000
committerThomas James Alexander Thurman <tthurman@src.gnome.org>2008-03-26 13:32:58 +0000
commit0130c0d5b608a79f5d872d252c3b8aef817450d6 (patch)
tree79c40f8adca24939e895f33ce30082ffbfba0997
parent1e325bcbdf9c3ecacb1055fbbb21bcc1caa0ce3b (diff)
downloadmetacity-0130c0d5b608a79f5d872d252c3b8aef817450d6.tar.gz
meta_display_screen_for_root is quite capable of returning NULL.
2008-03-26 Thomas Thurman <tthurman@gnome.org> * src/core/display.c (event_callback): meta_display_screen_for_root is quite capable of returning NULL. svn path=/trunk/; revision=3664
-rw-r--r--ChangeLog5
-rw-r--r--src/core/display.c19
2 files changed, 15 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 1513e5ac..4117b287 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-26 Thomas Thurman <tthurman@gnome.org>
+
+ * src/core/display.c (event_callback): meta_display_screen_for_root
+ is quite capable of returning NULL.
+
2008-03-25 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c (meta_display_queue_retheme_all_windows,
diff --git a/src/core/display.c b/src/core/display.c
index ebf7fda1..40c3c983 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1798,8 +1798,10 @@ event_callback (XEvent *event,
"Syncing to old stack positions.\n");
screen =
meta_display_screen_for_root (display, event->xany.window);
- meta_stack_set_positions (screen->stack,
- display->grab_old_window_stacking);
+
+ if (screen!=NULL)
+ meta_stack_set_positions (screen->stack,
+ display->grab_old_window_stacking);
}
meta_display_end_grab_op (display,
event->xbutton.time);
@@ -1988,16 +1990,15 @@ event_callback (XEvent *event,
* screen; this will make keybindings and workspace-launched items
* actually appear on the right screen.
*/
- if (display->active_screen !=
- meta_display_screen_for_root (display, event->xcrossing.root))
- {
- MetaScreen *new_screen;
- new_screen = meta_display_screen_for_root (display,
- event->xcrossing.root);
+ {
+ MetaScreen *new_screen =
+ meta_display_screen_for_root (display, event->xcrossing.root);
+
+ if (new_screen != NULL && display->active_screen != new_screen)
meta_workspace_focus_default_window (new_screen->active_workspace,
NULL,
event->xcrossing.time);
- }
+ }
/* Check if we've entered a window; do this even if window->has_focus to
* avoid races.