From 9cee95f210caa1eb4a0692074f56e570472ee9f9 Mon Sep 17 00:00:00 2001 From: Soeren Sandmann Date: Fri, 20 Aug 2004 10:56:41 +0000 Subject: Move wireframe code before grab is released to prevent endless loops with Fri Aug 20 12:54:12 2004 Soeren Sandmann * src/display.c (meta_display_end_grab_op): Move wireframe code before grab is released to prevent endless loops with fullscreen windows. --- ChangeLog | 6 ++++++ src/display.c | 30 +++++++++++++++--------------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index fe5765b6..e8fba2f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Aug 20 12:54:12 2004 Soeren Sandmann + + * src/display.c (meta_display_end_grab_op): Move wireframe code + before grab is released to prevent endless loops with fullscreen + windows. + 2004-08-18 Havoc Pennington * src/display.h (struct _MetaDisplay): track the last_xor_rect diff --git a/src/display.c b/src/display.c index 5827df6e..e5cd7e43 100644 --- a/src/display.c +++ b/src/display.c @@ -3284,6 +3284,21 @@ meta_display_end_grab_op (MetaDisplay *display, display->ungrab_should_not_cause_focus_window = display->grab_xwindow; } + if (display->grab_wireframe_active) + { + display->grab_wireframe_active = FALSE; + meta_effects_end_wireframe (display->grab_window->screen, + &display->grab_wireframe_last_xor_rect); + if (!display->grab_was_cancelled) + meta_window_move_resize (display->grab_window, + TRUE, + display->grab_wireframe_rect.x, + display->grab_wireframe_rect.y, + display->grab_wireframe_rect.width, + display->grab_wireframe_rect.height); + meta_window_calc_showing (display->grab_window); + } + if (display->grab_have_pointer) { meta_topic (META_DEBUG_WINDOW_OPS, @@ -3311,21 +3326,6 @@ meta_display_end_grab_op (MetaDisplay *display, } #endif /* HAVE_XSYNC */ - if (display->grab_wireframe_active) - { - display->grab_wireframe_active = FALSE; - meta_effects_end_wireframe (display->grab_window->screen, - &display->grab_wireframe_last_xor_rect); - if (!display->grab_was_cancelled) - meta_window_move_resize (display->grab_window, - TRUE, - display->grab_wireframe_rect.x, - display->grab_wireframe_rect.y, - display->grab_wireframe_rect.width, - display->grab_wireframe_rect.height); - meta_window_calc_showing (display->grab_window); - } - /* repaint window in case the grab op drew it in a * nonstandard way such as transparent or wireframe */ -- cgit v1.2.1