diff --git a/debian/changelog b/debian/changelog index b3fe8039df..5c195bd5bf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,15 +1,14 @@ gtk+3.0 (3.22.30-1) UNRELEASED; urgency=medium + [ Jeremy Bicha ] + * New upstream release + * Drop patches applied in new release (numbered 0009-0016) + [ Simon McVittie ] * d/p/022_disable-viqr-im-for-vi-locale.patch: Add reference to Ubuntu bug 191451, summarize the reason why this is applied, and correctly attribute the patch to Ming Hua (see #895043) - * d/p/0016-imwayland-destroy-objects-only-if-it-matches-our-man.patch: - Mark as applied upstream - - [ Jeremy Bicha ] - * New upstream release -- Simon McVittie Fri, 06 Apr 2018 18:50:52 +0100 diff --git a/debian/patches/0009-gtkimmodule-make-match_backend-query-the-wayland-reg.patch b/debian/patches/0009-gtkimmodule-make-match_backend-query-the-wayland-reg.patch deleted file mode 100644 index 76fad979a5..0000000000 --- a/debian/patches/0009-gtkimmodule-make-match_backend-query-the-wayland-reg.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Peter Bloomfield -Date: Mon, 12 Mar 2018 17:46:57 -0400 -Subject: gtkimmodule: make match_backend() query the wayland registry - -Wnen _gtk_im_module_get_default_context_id calls -match_backend (context_id) and the default GdkDisplay -is wayland, match_backend() should return TRUE only if -gdk_wayland_display_query_registry (display, "gtk_text_input_manager") -returns TRUE. - -Origin: upstream, 3.22.30, commit:6e2d14037cea356638a9bea7b611cbe23bc90b47 -Bug: https://gitlab.gnome.org/GNOME/gtk/issues/114 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893696 ---- - gtk/gtkimmodule.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c -index 018723f..93c1bea 100644 ---- a/gtk/gtkimmodule.c -+++ b/gtk/gtkimmodule.c -@@ -697,7 +697,13 @@ match_backend (GtkIMContextInfo *context) - { - #ifdef GDK_WINDOWING_WAYLAND - if (g_strcmp0 (context->context_id, "wayland") == 0) -- return GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()); -+ { -+ GdkDisplay *display = gdk_display_get_default (); -+ -+ return GDK_IS_WAYLAND_DISPLAY (display) && -+ gdk_wayland_display_query_registry (display, -+ "gtk_text_input_manager"); -+ } - #endif - - #ifdef GDK_WINDOWING_BROADWAY diff --git a/debian/patches/0010-imwayland-Avoid-TOGGLE_INPUT_PANEL-requests-if-there.patch b/debian/patches/0010-imwayland-Avoid-TOGGLE_INPUT_PANEL-requests-if-there.patch deleted file mode 100644 index b17cdaa713..0000000000 --- a/debian/patches/0010-imwayland-Avoid-TOGGLE_INPUT_PANEL-requests-if-there.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Carlos Garnacho -Date: Tue, 20 Mar 2018 15:17:31 +0100 -Subject: imwayland: Avoid TOGGLE_INPUT_PANEL requests if there's no focus - -Fixes two things: 1) As GTK+ can be coerced into using the wayland IM -module despite the compositor not implementing the interface, all paths -not checking for global state before sending requests are prone to -crashes, this one fell hit this pitfall. - -And 2) ensures the tap gesture only triggers TOGGLE_INPUT_PANEL if the -widget IM is focused. This is a possibility on eg. WebKit pages, where -its IM is only focused as long as a form element in the page is focused. -Tapping elsewhere shouldn't toggle the OSK. - -Origin: upstream, 3.22.30, commit:4f78abddfc8a815a7e02f5347d5326412190f66f -Bug: https://gitlab.gnome.org/GNOME/gtk/issues/114 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893696 ---- - modules/input/imwayland.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/modules/input/imwayland.c b/modules/input/imwayland.c -index 64605a1..30d2536 100644 ---- a/modules/input/imwayland.c -+++ b/modules/input/imwayland.c -@@ -420,6 +420,9 @@ released_cb (GtkGestureMultiPress *gesture, - { - GtkInputHints hints; - -+ if (!global->current) -+ return; -+ - g_object_get (context, "input-hints", &hints, NULL); - - if (n_press == 1 && diff --git a/debian/patches/0011-gtkstylecontext-guard-against-gtk_css_widget_node_ge.patch b/debian/patches/0011-gtkstylecontext-guard-against-gtk_css_widget_node_ge.patch deleted file mode 100644 index 6b02dbff41..0000000000 --- a/debian/patches/0011-gtkstylecontext-guard-against-gtk_css_widget_node_ge.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Christoph Reiter -Date: Mon, 19 Mar 2018 18:21:25 +0100 -Subject: gtkstylecontext: guard against gtk_css_widget_node_get_widget() - returning NULL in more places - -When the widget gets finalized it clears the widgetnode and gtk_css_widget_node_get_widget -returns NULL. Guard against gtk_css_widget_node_get_widget() returning NULL like in other -places. - -See https://gitlab.gnome.org/GNOME/pygobject/issues/28#note_82862 - -Origin: upstream, 3.22.30, commit:d65a4c2e0abeefb1e61e32a2da2c1e1ba9987817 ---- - gtk/gtkstylecontext.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c -index 4ef6d57..2606815 100644 ---- a/gtk/gtkstylecontext.c -+++ b/gtk/gtkstylecontext.c -@@ -187,7 +187,11 @@ gtk_style_context_real_changed (GtkStyleContext *context) - GtkStyleContextPrivate *priv = context->priv; - - if (GTK_IS_CSS_WIDGET_NODE (priv->cssnode)) -- _gtk_widget_style_context_invalidated (gtk_css_widget_node_get_widget (GTK_CSS_WIDGET_NODE (priv->cssnode))); -+ { -+ GtkWidget *widget = gtk_css_widget_node_get_widget (GTK_CSS_WIDGET_NODE (priv->cssnode)); -+ if (widget != NULL) -+ _gtk_widget_style_context_invalidated (widget); -+ } - } - - static void -@@ -522,7 +526,8 @@ gtk_style_context_push_state (GtkStyleContext *context, - { - GtkWidget *widget = gtk_css_widget_node_get_widget (GTK_CSS_WIDGET_NODE (root)); - g_debug ("State %u for %s %p doesn't match state %u set via gtk_style_context_set_state ()", -- state, gtk_widget_get_name (widget), widget, gtk_css_node_get_state (priv->cssnode)); -+ state, (widget == NULL) ? "(null)" : gtk_widget_get_name (widget), -+ widget, gtk_css_node_get_state (priv->cssnode)); - } - else - { diff --git a/debian/patches/0012-widget-Only-print-allocation-warnings-with-enable-de.patch b/debian/patches/0012-widget-Only-print-allocation-warnings-with-enable-de.patch deleted file mode 100644 index 492687793e..0000000000 --- a/debian/patches/0012-widget-Only-print-allocation-warnings-with-enable-de.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: =?utf-8?q?Timm_B=C3=A4der?= -Date: Sat, 17 Mar 2018 13:14:25 +0100 -Subject: widget: Only print allocation warnings with --enable-debug - -i.e. if G_ENABLE_CONSISTENCY_CHECKS is defined. This makes sense, -considering that this warning is about consistency of internal widget -state. - -Origin: upstream, 3.22.30, commit:eb01ba8573bec47e02c8fc4eaf10e2f7cff522dd ---- - gtk/gtkwidget.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c -index 13421ea..c910e43 100644 ---- a/gtk/gtkwidget.c -+++ b/gtk/gtkwidget.c -@@ -5981,12 +5981,14 @@ gtk_widget_size_allocate_with_baseline (GtkWidget *widget, - gtk_widget_queue_draw (widget); - } - -+#ifdef G_ENABLE_CONSISTENCY_CHECKS - if (gtk_widget_get_resize_needed (widget)) - { - g_warning ("Allocating size to %s %p without calling gtk_widget_get_preferred_width/height(). " - "How does the code know the size to allocate?", - gtk_widget_get_name (widget), widget); - } -+#endif - - if (GTK_DEBUG_CHECK (GEOMETRY)) - { diff --git a/debian/patches/0013-wayland-Drop-cairo-surfaces-when-withdrawing.patch b/debian/patches/0013-wayland-Drop-cairo-surfaces-when-withdrawing.patch deleted file mode 100644 index 653d55ae14..0000000000 --- a/debian/patches/0013-wayland-Drop-cairo-surfaces-when-withdrawing.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Olivier Fourdan -Date: Tue, 30 Jan 2018 13:57:35 +0100 -Subject: wayland: Drop cairo surfaces when withdrawing - -If a window is unmapped by the client while gdk is processing updates, -(for example Firefox un-mapping its window on Expose events), the -windowing backend resources might be lost (for example with Wayland) -which can cause a crash in end_paint(). - -Make sure we drop the cairo surfaces as well when hiding the surface, -that will avoid the crash in gdk_window_impl_wayland_end_paint() when -trying to attach the staging cairo surface to a released wl_surface, -these will be recreated when needed when the surface becomes visible -again and there is no need to keep such buffers around for a surface -which is not visible anyway. - -Bug: https://bugzilla.gnome.org/show_bug.cgi?id=793062 -Origin: upstream, 3.22.30, commit:3bd7b379c8d2c7e57ce22501420791c4bfcf24ca ---- - gdk/wayland/gdkwindow-wayland.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c -index 9ee4fe2..38c23c2 100644 ---- a/gdk/wayland/gdkwindow-wayland.c -+++ b/gdk/wayland/gdkwindow-wayland.c -@@ -2600,6 +2600,7 @@ gdk_wayland_window_hide_surface (GdkWindow *window) - unset_transient_for_exported (window); - - _gdk_wayland_window_clear_saved_size (window); -+ drop_cairo_surfaces (window); - impl->pending_commit = FALSE; - impl->mapped = FALSE; - } -@@ -2916,7 +2917,6 @@ gdk_wayland_window_destroy (GdkWindow *window, - g_return_if_fail (!foreign_destroy); - - gdk_wayland_window_hide_surface (window); -- drop_cairo_surfaces (window); - } - - static void diff --git a/debian/patches/0014-AM_PATH_GTK_3_0-Use-AC_PATH_TOOL-to-find-pkg-config.patch b/debian/patches/0014-AM_PATH_GTK_3_0-Use-AC_PATH_TOOL-to-find-pkg-config.patch deleted file mode 100644 index 50f93a4cab..0000000000 --- a/debian/patches/0014-AM_PATH_GTK_3_0-Use-AC_PATH_TOOL-to-find-pkg-config.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Helmut Grohne -Date: Mon, 26 Mar 2018 06:28:44 +0200 -Subject: AM_PATH_GTK_3_0: Use AC_PATH_TOOL to find pkg-config - -AM_PATH_GTK_3_0 uses AC_PATH_PROG for finding pkg-config. Unfortunately, -that will find the build architecture pkg-config which in turn will miss -the host architecture gtk+3.0. What must be used here is the host -architecture pkg-config and that is found with AC_PATH_TOOL. - -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894069 -Reviewed-by: Simon McVittie -Bug: https://gitlab.gnome.org/GNOME/gtk/issues/133 -Applied-upstream: 3.22.30, commit:3a7fbb3b30f6ed8f65f9f5862c2fd30035a1a1ed ---- - m4macros/gtk-3.0.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/m4macros/gtk-3.0.m4 b/m4macros/gtk-3.0.m4 -index 4fc9906..eb4f381 100644 ---- a/m4macros/gtk-3.0.m4 -+++ b/m4macros/gtk-3.0.m4 -@@ -25,7 +25,7 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run - - no_gtk="" - -- AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -+ AC_PATH_TOOL(PKG_CONFIG, pkg-config, no) - - if test x$PKG_CONFIG != xno ; then - if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then -@@ -201,7 +201,7 @@ AC_DEFUN([GTK_CHECK_BACKEND], - min_gtk_version=ifelse([$2],,3.0.0,$2) - pkg_config_args="$pkg_config_args >= $min_gtk_version" - -- AC_PATH_PROG(PKG_CONFIG, [pkg-config], [AC_MSG_ERROR([No pkg-config found])]) -+ AC_PATH_TOOL(PKG_CONFIG, [pkg-config], [AC_MSG_ERROR([No pkg-config found])]) - - if $PKG_CONFIG $pkg_config_args ; then - target_found=yes diff --git a/debian/patches/0015-m4macros-Fix-underquoting-in-AC_PATH_TOOL.patch b/debian/patches/0015-m4macros-Fix-underquoting-in-AC_PATH_TOOL.patch deleted file mode 100644 index 2b7bf93a0d..0000000000 --- a/debian/patches/0015-m4macros-Fix-underquoting-in-AC_PATH_TOOL.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Simon McVittie -Date: Mon, 26 Mar 2018 08:56:56 +0100 -Subject: m4macros: Fix underquoting in AC_PATH_TOOL - -While these lines are being changed anyway, they might as well be -more correct. - -Signed-off-by: Simon McVittie -Bug: https://gitlab.gnome.org/GNOME/gtk/issues/133 -Applied-upstream: 3.22.30, commit:323d86b6e4bb19f252328a78e93fda03e1d9c0df ---- - m4macros/gtk-3.0.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/m4macros/gtk-3.0.m4 b/m4macros/gtk-3.0.m4 -index eb4f381..6424687 100644 ---- a/m4macros/gtk-3.0.m4 -+++ b/m4macros/gtk-3.0.m4 -@@ -25,7 +25,7 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run - - no_gtk="" - -- AC_PATH_TOOL(PKG_CONFIG, pkg-config, no) -+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config], [no]) - - if test x$PKG_CONFIG != xno ; then - if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then -@@ -201,7 +201,7 @@ AC_DEFUN([GTK_CHECK_BACKEND], - min_gtk_version=ifelse([$2],,3.0.0,$2) - pkg_config_args="$pkg_config_args >= $min_gtk_version" - -- AC_PATH_TOOL(PKG_CONFIG, [pkg-config], [AC_MSG_ERROR([No pkg-config found])]) -+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config], [AC_MSG_ERROR([No pkg-config found])]) - - if $PKG_CONFIG $pkg_config_args ; then - target_found=yes diff --git a/debian/patches/0016-imwayland-destroy-objects-only-if-it-matches-our-man.patch b/debian/patches/0016-imwayland-destroy-objects-only-if-it-matches-our-man.patch deleted file mode 100644 index 77eca92776..0000000000 --- a/debian/patches/0016-imwayland-destroy-objects-only-if-it-matches-our-man.patch +++ /dev/null @@ -1,53 +0,0 @@ -From: Lionel Landwerlin -Date: Tue, 27 Mar 2018 19:42:43 +0100 -Subject: imwayland: destroy objects only if it matches our manager object - -Should fix one of the crash from #129. - -Bug: https://gitlab.gnome.org/GNOME/gtk/issues/129 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894388 -Forwarded: https://gitlab.gnome.org/GNOME/gtk/merge_requests/89 -Applied-upstream: 3.22.30, commit:314531640fa6e54933dd838f9bae3a8372a2a99e ---- - modules/input/imwayland.c | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/modules/input/imwayland.c b/modules/input/imwayland.c -index 30d2536..89b2f7a 100644 ---- a/modules/input/imwayland.c -+++ b/modules/input/imwayland.c -@@ -35,6 +35,7 @@ struct _GtkIMContextWaylandGlobal - { - struct wl_display *display; - struct wl_registry *registry; -+ uint32_t text_input_manager_wl_id; - struct gtk_text_input_manager *text_input_manager; - struct gtk_text_input *text_input; - uint32_t enter_serial; -@@ -205,8 +206,9 @@ registry_handle_global (void *data, - - if (strcmp (interface, "gtk_text_input_manager") == 0) - { -+ global->text_input_manager_wl_id = id; - global->text_input_manager = -- wl_registry_bind (global->registry, id, -+ wl_registry_bind (global->registry, global->text_input_manager_wl_id, - >k_text_input_manager_interface, 1); - global->text_input = - gtk_text_input_manager_get_text_input (global->text_input_manager, -@@ -223,11 +225,11 @@ registry_handle_global_remove (void *data, - { - GtkIMContextWaylandGlobal *global = data; - -- gtk_text_input_destroy (global->text_input); -- global->text_input = NULL; -+ if (id != global->text_input_manager_wl_id) -+ return; - -- gtk_text_input_manager_destroy (global->text_input_manager); -- global->text_input_manager = NULL; -+ g_clear_pointer(&global->text_input, gtk_text_input_destroy); -+ g_clear_pointer(&global->text_input_manager, gtk_text_input_manager_destroy); - } - - static const struct wl_registry_listener registry_listener = { diff --git a/debian/patches/series b/debian/patches/series index 556cc36e19..7d510f5526 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,11 +6,3 @@ no-accessibility-dump.patch reftest-known-fail.patch gdk-x11-Check-if-we-have-access-to-GL-before-using-G.patch -0009-gtkimmodule-make-match_backend-query-the-wayland-reg.patch -0010-imwayland-Avoid-TOGGLE_INPUT_PANEL-requests-if-there.patch -0011-gtkstylecontext-guard-against-gtk_css_widget_node_ge.patch -0012-widget-Only-print-allocation-warnings-with-enable-de.patch -0013-wayland-Drop-cairo-surfaces-when-withdrawing.patch -0014-AM_PATH_GTK_3_0-Use-AC_PATH_TOOL-to-find-pkg-config.patch -0015-m4macros-Fix-underquoting-in-AC_PATH_TOOL.patch -0016-imwayland-destroy-objects-only-if-it-matches-our-man.patch