summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gtk+/gtk+3
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2015-04-01 21:36:47 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-16 15:09:17 +0100
commit88ea8748809043be61d501c1ce8a9c8e8c06b9ae (patch)
tree4a91c84f6680e8c36751aa540a5375463cefc75a /meta/recipes-gnome/gtk+/gtk+3
parentf71e47361cf8b934bcff1eebd13d71b43ee5cd6d (diff)
downloadpoky-88ea8748809043be61d501c1ce8a9c8e8c06b9ae.tar.gz
gtk+3: Upgrade to 3.16.4
* Drop --disable-gtk2-dependency and the patch for gtk/native/Makefile.am: gtk-update-icon-cache is no longer used at build time and as a result the option was removed. * Add dependency to libepoxy * Add dependency to virtual/mesa for wayland-egl * Package new binaries gtk3-icon-browser and gtk-encode-symbolic-svg * Add a backported patch that allows server side window decorations in all cases * RRECOMMEND adwaita-icon-theme-symbolic: GTK+ widgets expect a symbolic theme to be installed (From OE-Core rev: 8d34b4db648756d3474c809d2895b15299fc8a6a) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-gnome/gtk+/gtk+3')
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch118
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch33
2 files changed, 118 insertions, 33 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
new file mode 100644
index 0000000000..32d8a84792
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+3/Dont-force-csd.patch
@@ -0,0 +1,118 @@
1window: Check if we can use CSD before enabling them
2
3Upstream-Status: Backport
4Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
5
6
7From c5e5ee67490e7e7af56052d8f8beb75db002c2f1 Mon Sep 17 00:00:00 2001
8From: Emmanuele Bassi <ebassi@gnome.org>
9Date: Wed, 3 Jun 2015 14:07:29 +0100
10Subject: window: Check if we can use CSD before enabling them
11
12The change in 03213b9509fc1df16c66194ea168aed6c15110e9 changed the rules
13as to when CSD can be enabled, but it also unconditionally enables CSD
14with the implicit assumption that client-side shadows were the real
15issue, and that we could work around that by drawing our own borders.
16This also means that setting a titlebar for a GtkWindow will enable CSD
17unconditionally.
18
19In reality, some window managers (like Matchbox) *only* support
20server-side decorations, and will ignore all hints to the contrary, to
21the point of drawing decorations at random locations on top of the
22window.
23
24Since CSD are enabled unconditionally, the GTK_CSD environment variable
25is also not a suitable escape hatch.
26
27In the grand tradition of asking ourselves if we should do something
28just because we can, we should split the environment checks from the
29checks on what the user requested; by doing that, we can also check
30when enabling client-side decorations, and ideally bail out if needed.
31
32https://bugzilla.gnome.org/show_bug.cgi?id=750343
33
34diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
35index 423c6bd..9fe882f 100644
36--- a/gtk/gtkwindow.c
37+++ b/gtk/gtkwindow.c
38@@ -4056,6 +4056,32 @@ gtk_window_supports_client_shadow (GtkWindow *window)
39 return TRUE;
40 }
41
42+static gboolean
43+gtk_window_can_use_csd (GtkWindow *window)
44+{
45+ const gchar *csd_env;
46+
47+#ifdef GDK_WINDOWING_BROADWAY
48+ if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
49+ return TRUE;
50+#endif
51+
52+#ifdef GDK_WINDOWING_WAYLAND
53+ if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
54+ return TRUE;
55+#endif
56+
57+#ifdef GDK_WINDOWING_MIR
58+ if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
59+ return TRUE;
60+#endif
61+
62+ csd_env = g_getenv ("GTK_CSD");
63+
64+ /* If GTK_CSD is unset we default to CSD support */
65+ return csd_env == NULL || (strcmp (csd_env, "1") == 0);
66+}
67+
68 static void
69 gtk_window_enable_csd (GtkWindow *window)
70 {
71@@ -4063,6 +4089,10 @@ gtk_window_enable_csd (GtkWindow *window)
72 GtkWidget *widget = GTK_WIDGET (window);
73 GdkVisual *visual;
74
75+ /* If the environment does not support CSD, then there's no point in enabling them */
76+ if (!gtk_window_can_use_csd (window))
77+ return;
78+
79 /* We need a visual with alpha for client shadows */
80 if (priv->use_client_shadow)
81 {
82@@ -5839,7 +5869,6 @@ static gboolean
83 gtk_window_should_use_csd (GtkWindow *window)
84 {
85 GtkWindowPrivate *priv = window->priv;
86- const gchar *csd_env;
87
88 if (priv->csd_requested)
89 return TRUE;
90@@ -5850,24 +5879,7 @@ gtk_window_should_use_csd (GtkWindow *window)
91 if (priv->type == GTK_WINDOW_POPUP)
92 return FALSE;
93
94-#ifdef GDK_WINDOWING_BROADWAY
95- if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
96- return TRUE;
97-#endif
98-
99-#ifdef GDK_WINDOWING_WAYLAND
100- if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
101- return TRUE;
102-#endif
103-
104-#ifdef GDK_WINDOWING_MIR
105- if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
106- return TRUE;
107-#endif
108-
109- csd_env = g_getenv ("GTK_CSD");
110-
111- return (g_strcmp0 (csd_env, "1") == 0);
112+ return gtk_window_can_use_csd (window);
113 }
114
115 static void
116--
117cgit v0.10.2
118
diff --git a/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch b/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
deleted file mode 100644
index 9ae1088e01..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Fri, 28 Mar 2014 03:10:12 +0000
4Subject: [PATCH] gtk/native/Makefile.am: unset target FLAGS for native build
5
6The target gtk+3 does a native build in its "native" directory, we need
7unset the target FLAGS for native build, otherwise, there might be build
8failures.
9
10Upstream-Status: Pending
11
12Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
13---
14 gtk/native/Makefile.am | 3 +++
15 1 file changed, 3 insertions(+)
16
17diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am
18index 64899e9..a1c814a 100644
19--- a/gtk/native/Makefile.am
20+++ b/gtk/native/Makefile.am
21@@ -3,6 +3,9 @@ AM_CFLAGS = @CFLAGS_FOR_BUILD@
22 CPP = @CPP_FOR_BUILD@
23 AM_CPPFLAGS = @CPPFLAGS_FOR_BUILD@
24 AM_LDFLAGS = @LDFLAGS_FOR_BUILD@
25+CFLAGS =
26+CPPFLAGS =
27+LDFLAGS =
28
29 if CROSS_COMPILING
30 if !USE_EXTERNAL_ICON_CACHE
31--
321.8.3.4
33