summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2020-07-27 19:02:09 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2020-09-05 19:44:49 +0000
commit218764079688b59db120dcdfc078fe5eb42214f6 (patch)
tree3b6ec7f2ab4df60b94487d4bf1279793cda95d7e
parent7f08c14226d3207258e0cc8ba21b8a260c4e54ee (diff)
downloadmetacity-218764079688b59db120dcdfc078fe5eb42214f6.tar.gz
compositor-vulkan: do not change compositing-manager setting
-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