mutter/src
Jonas Ådahl 237cdeef4c seat-impl: Destroy libinput objects on input thread on tear down
We didn't tear down the libinput objects in the right thread when
exiting, but did so after the input thread exited.

We also tried to destroy the libinput devices after the libinput context
was destroyed, which isn't allowed.

Fix these two issues by tearing down the libinput objects in a input
thread task that when done exits the input thread. This effectively
"flushes" the input thread tasks while destroying the libinput objects
just before the thread exits.

While it might fine to tear down libinput objects in an arbitrary (main
in this case) thread while making sure nothing pokes at it in parallel
(e.g. the input thread is gone), libinput is by definition single
threaded, and could theoretically make assumptions about this, and we
shouldn't cause any possible surprises here, so make sure to destroy it
all in the right thread.

This fixes an abort() on exit caused by an assert about invalid object
destruction in libinput.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1663>
2021-01-11 17:17:39 +00:00
..
backends seat-impl: Destroy libinput objects on input thread on tear down 2021-01-11 17:17:39 +00:00
compositor background: Make the final monitor texture RGB instead of RGBA 2021-01-11 15:08:27 +08:00
core core: Trigger repick via ClutterStage 2020-12-23 12:54:49 +01:00
meta util: Add META_DEBUG_WAYLAND debug topic 2020-10-20 09:53:52 +00:00
tests tests/stage-views: Test whether stage views and frame clocks are freed 2021-01-11 09:42:10 +00:00
ui Make meta_* logging utilities not require line break 2020-10-08 16:38:41 +02:00
wayland wayland: Repick (again) on pointer motion 2020-12-28 19:11:26 +01:00
x11 xwayland: Set xrandr primary output 2020-12-11 13:44:45 +00:00
libmutter.pc.in build: Fix libs and cflags in autotools .pc file 2018-11-10 16:20:46 +00:00
meson.build backends/native: Drop MetaEventNative 2020-12-08 15:37:38 +00:00
meta-private-enum-types.c.in screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-private-enum-types.h.in screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
org.freedesktop.login1.xml MetaLauncher: Don't g_error() on failure 2015-11-06 17:03:59 -05:00
org.gnome.Mutter.DisplayConfig.xml x11: Support the CTM (color transform matrix) RandR property 2021-01-11 13:44:54 +00:00
org.gnome.Mutter.IdleMonitor.xml idle-monitor: Add ResetIdletime API, for testing purposes 2018-04-16 13:28:03 +02:00
org.gnome.Mutter.RemoteDesktop.xml remote-desktop: Allow using custom scroll source for NotifyPointerAxis 2021-01-11 10:12:53 +01:00
org.gnome.Mutter.ScreenCast.xml screen-cast: Add 'is-recording' option to record methods 2020-07-31 10:41:15 +02:00