Move wireframe code before grab is released to prevent endless loops with

Fri Aug 20 12:54:12 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* src/display.c (meta_display_end_grab_op): Move wireframe code
	before grab is released to prevent endless loops with fullscreen
	windows.
This commit is contained in:
Soeren Sandmann 2004-08-20 10:56:41 +00:00 committed by Søren Sandmann Pedersen
parent 9d02a6c163
commit 9cee95f210
2 changed files with 21 additions and 15 deletions

View File

@ -1,3 +1,9 @@
Fri Aug 20 12:54:12 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* 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 <hp@redhat.com> 2004-08-18 Havoc Pennington <hp@redhat.com>
* src/display.h (struct _MetaDisplay): track the last_xor_rect * src/display.h (struct _MetaDisplay): track the last_xor_rect

View File

@ -3284,6 +3284,21 @@ meta_display_end_grab_op (MetaDisplay *display,
display->ungrab_should_not_cause_focus_window = display->grab_xwindow; 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) if (display->grab_have_pointer)
{ {
meta_topic (META_DEBUG_WINDOW_OPS, meta_topic (META_DEBUG_WINDOW_OPS,
@ -3311,21 +3326,6 @@ meta_display_end_grab_op (MetaDisplay *display,
} }
#endif /* HAVE_XSYNC */ #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 /* repaint window in case the grab op drew it in a
* nonstandard way such as transparent or wireframe * nonstandard way such as transparent or wireframe
*/ */