aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch')
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch118
1 files changed, 0 insertions, 118 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch b/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
deleted file mode 100644
index 32d8a84792..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-window: Check if we can use CSD before enabling them
-
-Upstream-Status: Backport
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
-
-From c5e5ee67490e7e7af56052d8f8beb75db002c2f1 Mon Sep 17 00:00:00 2001
-From: Emmanuele Bassi <ebassi@gnome.org>
-Date: Wed, 3 Jun 2015 14:07:29 +0100
-Subject: window: Check if we can use CSD before enabling them
-
-The change in 03213b9509fc1df16c66194ea168aed6c15110e9 changed the rules
-as to when CSD can be enabled, but it also unconditionally enables CSD
-with the implicit assumption that client-side shadows were the real
-issue, and that we could work around that by drawing our own borders.
-This also means that setting a titlebar for a GtkWindow will enable CSD
-unconditionally.
-
-In reality, some window managers (like Matchbox) *only* support
-server-side decorations, and will ignore all hints to the contrary, to
-the point of drawing decorations at random locations on top of the
-window.
-
-Since CSD are enabled unconditionally, the GTK_CSD environment variable
-is also not a suitable escape hatch.
-
-In the grand tradition of asking ourselves if we should do something
-just because we can, we should split the environment checks from the
-checks on what the user requested; by doing that, we can also check
-when enabling client-side decorations, and ideally bail out if needed.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=750343
-
-diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
-index 423c6bd..9fe882f 100644
---- a/gtk/gtkwindow.c
-+++ b/gtk/gtkwindow.c
-@@ -4056,6 +4056,32 @@ gtk_window_supports_client_shadow (GtkWindow *window)
- return TRUE;
- }
-
-+static gboolean
-+gtk_window_can_use_csd (GtkWindow *window)
-+{
-+ const gchar *csd_env;
-+
-+#ifdef GDK_WINDOWING_BROADWAY
-+ if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
-+ return TRUE;
-+#endif
-+
-+#ifdef GDK_WINDOWING_WAYLAND
-+ if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
-+ return TRUE;
-+#endif
-+
-+#ifdef GDK_WINDOWING_MIR
-+ if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
-+ return TRUE;
-+#endif
-+
-+ csd_env = g_getenv ("GTK_CSD");
-+
-+ /* If GTK_CSD is unset we default to CSD support */
-+ return csd_env == NULL || (strcmp (csd_env, "1") == 0);
-+}
-+
- static void
- gtk_window_enable_csd (GtkWindow *window)
- {
-@@ -4063,6 +4089,10 @@ gtk_window_enable_csd (GtkWindow *window)
- GtkWidget *widget = GTK_WIDGET (window);
- GdkVisual *visual;
-
-+ /* If the environment does not support CSD, then there's no point in enabling them */
-+ if (!gtk_window_can_use_csd (window))
-+ return;
-+
- /* We need a visual with alpha for client shadows */
- if (priv->use_client_shadow)
- {
-@@ -5839,7 +5869,6 @@ static gboolean
- gtk_window_should_use_csd (GtkWindow *window)
- {
- GtkWindowPrivate *priv = window->priv;
-- const gchar *csd_env;
-
- if (priv->csd_requested)
- return TRUE;
-@@ -5850,24 +5879,7 @@ gtk_window_should_use_csd (GtkWindow *window)
- if (priv->type == GTK_WINDOW_POPUP)
- return FALSE;
-
--#ifdef GDK_WINDOWING_BROADWAY
-- if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
-- return TRUE;
--#endif
--
--#ifdef GDK_WINDOWING_WAYLAND
-- if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
-- return TRUE;
--#endif
--
--#ifdef GDK_WINDOWING_MIR
-- if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
-- return TRUE;
--#endif
--
-- csd_env = g_getenv ("GTK_CSD");
--
-- return (g_strcmp0 (csd_env, "1") == 0);
-+ return gtk_window_can_use_csd (window);
- }
-
- static void
---
-cgit v0.10.2
-