color-device: Make it possible to outlive the active monitors
Previously the color device was destroyed when it was attached to a monitor that was going away. However, the MetaMonitor objects are ref-counted and can stay around for longer, even if the underlying resources went away. We need color devices for as long as the MetaMonitors are alive. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3904>
This commit is contained in:
@ -213,7 +213,6 @@ meta_backend_dispose (GObject *object)
|
||||
|
||||
g_clear_pointer (&priv->cursor_tracker, meta_cursor_tracker_destroy);
|
||||
g_clear_object (&priv->current_device);
|
||||
g_clear_object (&priv->color_manager);
|
||||
g_clear_object (&priv->monitor_manager);
|
||||
g_clear_object (&priv->orientation_manager);
|
||||
#ifdef HAVE_REMOTE_DESKTOP
|
||||
@ -257,6 +256,9 @@ meta_backend_dispose (GObject *object)
|
||||
g_clear_pointer (&priv->stage, clutter_actor_destroy);
|
||||
g_clear_pointer (&priv->idle_manager, meta_idle_manager_free);
|
||||
g_clear_object (&priv->renderer);
|
||||
/* the renderer keeps references to color devices which keep references
|
||||
* to the color manager. */
|
||||
g_clear_object (&priv->color_manager);
|
||||
#ifdef HAVE_EGL
|
||||
g_clear_object (&priv->egl);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user