backends: add 'monitors-updated-internal' signal to only update internal state

Adding an internal signal and use it to update the internal state before
emitting "monitors-changed" which will be repeated by the screen to the world.

https://bugzilla.gnome.org/show_bug.cgi?id=788860
This commit is contained in:
Marco Trevisan (Treviño)
2017-10-12 19:14:40 -05:00
parent fad5657eda
commit b31e545c9d
9 changed files with 43 additions and 11 deletions

View File

@ -422,7 +422,7 @@ meta_wayland_outputs_init (MetaWaylandCompositor *compositor)
MetaMonitorManager *monitors;
monitors = meta_monitor_manager_get ();
g_signal_connect (monitors, "monitors-changed",
g_signal_connect (monitors, "monitors-changed-internal",
G_CALLBACK (on_monitors_changed), compositor);
compositor->outputs = g_hash_table_new_full (NULL, NULL, NULL, wayland_output_destroy_notify);