diff options
author | Jussi Kukkonen <jussi.kukkonen@intel.com> | 2015-04-01 21:36:47 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-07-16 15:09:17 +0100 |
commit | 88ea8748809043be61d501c1ce8a9c8e8c06b9ae (patch) | |
tree | 4a91c84f6680e8c36751aa540a5375463cefc75a /meta/recipes-gnome/gtk+/gtk+3 | |
parent | f71e47361cf8b934bcff1eebd13d71b43ee5cd6d (diff) | |
download | poky-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.patch | 118 | ||||
-rw-r--r-- | meta/recipes-gnome/gtk+/gtk+3/fix-flags-for-native.patch | 33 |
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 @@ | |||
1 | window: Check if we can use CSD before enabling them | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
5 | |||
6 | |||
7 | From c5e5ee67490e7e7af56052d8f8beb75db002c2f1 Mon Sep 17 00:00:00 2001 | ||
8 | From: Emmanuele Bassi <ebassi@gnome.org> | ||
9 | Date: Wed, 3 Jun 2015 14:07:29 +0100 | ||
10 | Subject: window: Check if we can use CSD before enabling them | ||
11 | |||
12 | The change in 03213b9509fc1df16c66194ea168aed6c15110e9 changed the rules | ||
13 | as to when CSD can be enabled, but it also unconditionally enables CSD | ||
14 | with the implicit assumption that client-side shadows were the real | ||
15 | issue, and that we could work around that by drawing our own borders. | ||
16 | This also means that setting a titlebar for a GtkWindow will enable CSD | ||
17 | unconditionally. | ||
18 | |||
19 | In reality, some window managers (like Matchbox) *only* support | ||
20 | server-side decorations, and will ignore all hints to the contrary, to | ||
21 | the point of drawing decorations at random locations on top of the | ||
22 | window. | ||
23 | |||
24 | Since CSD are enabled unconditionally, the GTK_CSD environment variable | ||
25 | is also not a suitable escape hatch. | ||
26 | |||
27 | In the grand tradition of asking ourselves if we should do something | ||
28 | just because we can, we should split the environment checks from the | ||
29 | checks on what the user requested; by doing that, we can also check | ||
30 | when enabling client-side decorations, and ideally bail out if needed. | ||
31 | |||
32 | https://bugzilla.gnome.org/show_bug.cgi?id=750343 | ||
33 | |||
34 | diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c | ||
35 | index 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 | -- | ||
117 | cgit 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 @@ | |||
1 | From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Yang <liezhi.yang@windriver.com> | ||
3 | Date: Fri, 28 Mar 2014 03:10:12 +0000 | ||
4 | Subject: [PATCH] gtk/native/Makefile.am: unset target FLAGS for native build | ||
5 | |||
6 | The target gtk+3 does a native build in its "native" directory, we need | ||
7 | unset the target FLAGS for native build, otherwise, there might be build | ||
8 | failures. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
13 | --- | ||
14 | gtk/native/Makefile.am | 3 +++ | ||
15 | 1 file changed, 3 insertions(+) | ||
16 | |||
17 | diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am | ||
18 | index 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 | -- | ||
32 | 1.8.3.4 | ||
33 | |||