events: Bypass both gtk+ and the compositor for SelectionClear

We can't do any further processing after this since we have already
freed most of our structures including the MetaDisplay.
This commit is contained in:
Rui Matos 2014-04-15 19:52:52 +02:00
parent 87bec99a0a
commit 1169e104cb

View File

@ -1530,21 +1530,6 @@ handle_other_xevent (MetaDisplay *display,
}
}
break;
case SelectionClear:
/* do this here instead of at end of function
* so we can return
*/
/* FIXME: Clearing display->current_time here makes no sense to
* me; who put this here and why?
*/
display->current_time = CurrentTime;
process_selection_clear (display, event);
/* Note that processing that may have resulted in
* closing the display... so return right away.
*/
return FALSE;
case SelectionRequest:
process_selection_request (display, event);
break;
@ -1866,6 +1851,17 @@ meta_display_handle_xevent (MetaDisplay *display,
goto out;
}
if (event->type == SelectionClear)
{
/* Do this here so we can return without any further
* processing. */
process_selection_clear (display, event);
/* Note that processing that may have resulted in
* closing the display... */
bypass_gtk = bypass_compositor = TRUE;
goto out;
}
out:
if (!bypass_compositor)
{