[metacity/wip/muktupavels/compositor-setting: 5/6] compositor-vulkan: do not change compositing-manager setting




commit 218764079688b59db120dcdfc078fe5eb42214f6
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Mon Jul 27 19:02:09 2020 +0300

    compositor-vulkan: do not change compositing-manager setting

 src/compositor/meta-compositor-vulkan.c |  5 +++--
 src/core/display.c                      | 10 ++++++++--
 src/include/display.h                   |  2 ++
 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]