[mutter] events: Bypass both gtk+ and the compositor for SelectionClear
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] events: Bypass both gtk+ and the compositor for SelectionClear
- Date: Tue, 15 Apr 2014 18:44:05 +0000 (UTC)
commit 1169e104cb2b0fa06bb7f1e36c4cc3a0cbe441aa
Author: Rui Matos <tiagomatos gmail com>
Date: Tue Apr 15 19:52:52 2014 +0200
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.
src/core/events.c | 26 +++++++++++---------------
1 files changed, 11 insertions(+), 15 deletions(-)
---
diff --git a/src/core/events.c b/src/core/events.c
index d013d56..fef8616 100644
--- a/src/core/events.c
+++ b/src/core/events.c
@@ -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)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]