diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-12-07 18:18:00 +0100 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2020-12-08 15:37:38 +0000 |
commit | 96e320ba5a2f9e191d08ce4424f659384ab02fe3 (patch) | |
tree | f8370c139772f18a79ca46c264b6cc2aa140f884 /src | |
parent | 49b3ac2f8665ad5721e7c5435b7c4aa9db813ddc (diff) | |
download | mutter-96e320ba5a2f9e191d08ce4424f659384ab02fe3.tar.gz |
clutter: Drop CLUTTER_DESTROY_NOTIFY event
Stop propagating this as a Clutter event. DestroyNotify is only
relevant on nested X11 sessions, so handle it specifically in place.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1623>
Diffstat (limited to 'src')
-rw-r--r-- | src/backends/x11/meta-stage-x11.c | 7 | ||||
-rw-r--r-- | src/core/events.c | 3 | ||||
-rw-r--r-- | src/tests/clutter/interactive/test-events.c | 3 | ||||
-rw-r--r-- | src/tests/clutter/interactive/test-grab.c | 3 |
4 files changed, 5 insertions, 11 deletions
diff --git a/src/backends/x11/meta-stage-x11.c b/src/backends/x11/meta-stage-x11.c index 18c64b6ca..650076c74 100644 --- a/src/backends/x11/meta-stage-x11.c +++ b/src/backends/x11/meta-stage-x11.c @@ -734,9 +734,10 @@ meta_stage_x11_translate_event (MetaStageX11 *stage_x11, g_debug ("Destroy notification received for stage, win:0x%x", (unsigned int) xevent->xany.window); - event->any.type = CLUTTER_DESTROY_NOTIFY; - event->any.stage = stage; - res = TRUE; + g_return_val_if_fail (META_IS_STAGE_X11_NESTED (stage_x11), + FALSE); + meta_quit (META_EXIT_SUCCESS); + res = FALSE; break; case ClientMessage: diff --git a/src/core/events.c b/src/core/events.c index d6fbdb9f4..8859a342f 100644 --- a/src/core/events.c +++ b/src/core/events.c @@ -110,8 +110,7 @@ handle_idletime_for_event (const ClutterEvent *event) if (event->any.flags & CLUTTER_EVENT_FLAG_SYNTHETIC || event->type == CLUTTER_ENTER || event->type == CLUTTER_LEAVE || - event->type == CLUTTER_STAGE_STATE || - event->type == CLUTTER_DESTROY_NOTIFY) + event->type == CLUTTER_STAGE_STATE) return; core_monitor = meta_idle_monitor_get_core (); diff --git a/src/tests/clutter/interactive/test-events.c b/src/tests/clutter/interactive/test-events.c index 633d71d69..1d1c63dd4 100644 --- a/src/tests/clutter/interactive/test-events.c +++ b/src/tests/clutter/interactive/test-events.c @@ -350,9 +350,6 @@ input_cb (ClutterActor *actor, case CLUTTER_STAGE_STATE: g_print ("[%s] STAGE STATE", clutter_actor_get_name (source_actor)); break; - case CLUTTER_DESTROY_NOTIFY: - g_print ("[%s] DESTROY NOTIFY", clutter_actor_get_name (source_actor)); - break; case CLUTTER_TOUCHPAD_PINCH: g_print ("[%s] TOUCHPAD PINCH", clutter_actor_get_name (source_actor)); break; diff --git a/src/tests/clutter/interactive/test-grab.c b/src/tests/clutter/interactive/test-grab.c index 3b3a268a6..fc1912f9f 100644 --- a/src/tests/clutter/interactive/test-grab.c +++ b/src/tests/clutter/interactive/test-grab.c @@ -62,9 +62,6 @@ debug_event_cb (ClutterActor *actor, case CLUTTER_STAGE_STATE: printf("[%s] STAGE STATE", source); break; - case CLUTTER_DESTROY_NOTIFY: - printf("[%s] DESTROY NOTIFY", source); - break; case CLUTTER_TOUCH_BEGIN: g_print ("[%s] TOUCH BEGIN", source); break; |