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:08:41 +0100 |
commit | 8d34b4db648756d3474c809d2895b15299fc8a6a (patch) | |
tree | 4a9cb3fcca2a9031d7e9162f8636ec93e35cedfc /meta/recipes-gnome/gtk+/gtk+3 | |
parent | 66c81b204fe9041db13918ced505f3e930cae978 (diff) | |
download | openembedded-core-8d34b4db648756d3474c809d2895b15299fc8a6a.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
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
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 @@ +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 + 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 @@ -From 5e16904f94b5f5961f8f6e75716e6d7d228de119 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Fri, 28 Mar 2014 03:10:12 +0000 -Subject: [PATCH] gtk/native/Makefile.am: unset target FLAGS for native build - -The target gtk+3 does a native build in its "native" directory, we need -unset the target FLAGS for native build, otherwise, there might be build -failures. - -Upstream-Status: Pending - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - gtk/native/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/gtk/native/Makefile.am b/gtk/native/Makefile.am -index 64899e9..a1c814a 100644 ---- a/gtk/native/Makefile.am -+++ b/gtk/native/Makefile.am -@@ -3,6 +3,9 @@ AM_CFLAGS = @CFLAGS_FOR_BUILD@ - CPP = @CPP_FOR_BUILD@ - AM_CPPFLAGS = @CPPFLAGS_FOR_BUILD@ - AM_LDFLAGS = @LDFLAGS_FOR_BUILD@ -+CFLAGS = -+CPPFLAGS = -+LDFLAGS = - - if CROSS_COMPILING - if !USE_EXTERNAL_ICON_CACHE --- -1.8.3.4 - |