diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c index d90645929..aa5c183e5 100644 --- a/src/backends/native/meta-backend-native.c +++ b/src/backends/native/meta-backend-native.c @@ -184,12 +184,16 @@ meta_backend_native_post_init (MetaBackend *backend) MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend); MetaBackendNativePrivate *priv = meta_backend_native_get_instance_private (backend_native); + MetaMonitorManager *monitor_manager = + meta_backend_get_monitor_manager (backend); META_BACKEND_CLASS (meta_backend_native_parent_class)->post_init (backend); g_clear_pointer (&priv->startup_render_devices, g_hash_table_unref); + g_signal_connect_swapped (monitor_manager, "monitors-changed-internal", + G_CALLBACK (update_viewports), backend); update_viewports (backend); } @@ -217,9 +221,6 @@ meta_backend_native_create_monitor_manager (MetaBackend *backend, if (!manager) return NULL; - g_signal_connect_swapped (manager, "monitors-changed-internal", - G_CALLBACK (update_viewports), backend); - return manager; }