Jonas Ådahl 634f48a1cf monitor-manager: Don't free old state until logical monitors are replaced
Logical monitors keep pointers around to monitor objects, which themself
keep pointers aronud to outputs, which keeps pointer to modes and CRTCs.
To avoid causing crashes when using the logical monitor API (which
might use monitor APIs etc) between a hot plug and the time the logical
monitors are regenerated (which is done synchronously in the native
backend but asynchronously in the X11 backend), postpone the freeing of
the state that logical monitor references, until the logical monitor
state is regenerated.

On the native backend, this should have no significant effect, as the
logical state is always regenerated immediately after the hardware
state is updated, but on X11, this should fix race conditions when
events being processed between the hot plug and the hot plug result
tries to access the yet to be up to date state.

https://bugzilla.gnome.org/show_bug.cgi?id=786929
2017-10-30 18:49:39 +08:00
2015-07-06 00:52:18 -07:00
2014-03-18 20:37:35 -04:00
2017-10-03 15:55:11 -03:00
2017-05-11 13:45:44 +02:00
2016-04-27 20:37:47 +02:00
2014-07-31 17:50:28 +02:00
2017-10-04 01:11:31 +02:00
Description
94 MiB
Languages
C 98.9%
Meson 0.7%
Python 0.3%