summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compositor/meta-compositor-vulkan.c5
-rw-r--r--src/core/display.c10
-rw-r--r--src/include/display.h2
3 files changed, 13 insertions, 4 deletions
diff --git a/src/compositor/meta-compositor-vulkan.c b/src/compositor/meta-compositor-vulkan.c
index 53b7b3ff..273dc0bc 100644
--- a/src/compositor/meta-compositor-vulkan.c
+++ b/src/compositor/meta-compositor-vulkan.c
@@ -1186,16 +1186,17 @@ meta_compositor_vulkan_finalize (GObject *object)
static gboolean
not_implemented_cb (MetaCompositorVulkan *vulkan)
{
+ MetaDisplay *display;
gboolean cm;
+ display = meta_compositor_get_display (META_COMPOSITOR (vulkan));
cm = meta_prefs_get_compositing_manager ();
g_warning ("MetaCompositorVulkan is not implemented, switching to %s...",
cm ? "MetaCompositorXRender" : "MetaCompositorNone");
g_unsetenv ("META_COMPOSITOR");
- meta_prefs_set_compositing_manager (!cm);
- meta_prefs_set_compositing_manager (cm);
+ meta_display_update_compositor (display);
return G_SOURCE_REMOVE;
}
diff --git a/src/core/display.c b/src/core/display.c
index 196d7c87..2017050f 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -5120,8 +5120,7 @@ prefs_changed_callback (MetaPreference pref,
}
else if (pref == META_PREF_COMPOSITING_MANAGER)
{
- update_compositor (display, TRUE);
- meta_display_retheme_all ();
+ meta_display_update_compositor (display);
}
else if (pref == META_PREF_THEME_NAME ||
pref == META_PREF_THEME_TYPE)
@@ -5303,3 +5302,10 @@ meta_display_get_shape_event_base (MetaDisplay *display)
{
return display->shape_event_base;
}
+
+void
+meta_display_update_compositor (MetaDisplay *display)
+{
+ update_compositor (display, TRUE);
+ meta_display_retheme_all ();
+}
diff --git a/src/include/display.h b/src/include/display.h
index b3951d05..42c878bc 100644
--- a/src/include/display.h
+++ b/src/include/display.h
@@ -37,4 +37,6 @@ MetaWindow *meta_display_get_focus_window (MetaDisplay *display);
int meta_display_get_damage_event_base (MetaDisplay *display);
int meta_display_get_shape_event_base (MetaDisplay *display);
+void meta_display_update_compositor (MetaDisplay *display);
+
#endif