[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#795911: jessie-pu: package gtk+3.0/3.14.5-1+deb8u1



Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

gtk+3.0 in Jessie is affected by several quite serious bugs. 3 of them are so
serious that they from time to time cause users losing their work. There has
been a request to update gtk+3 to the latest 3.14.x bugfix release [1], but
since this probably is unlikely to be accepted (??), we have now rather
collected the most important bugs and made patches of them to create a +deb8u1
release. The source debdiff for this is added to the bottom of this bug report.

Since the pkg-gnome maintainers do not seem to be as affected by this as
others, we (the sufferers) were vaguely encouraged to get in contact with the
Stable Release Team ourself (See [2]), and then come back to the maintainers if
we have negotiated acceptance with you.

The package has been tested before and after the fix and the results can be
found here: [3]. The package was of course built and tested in Jessie (not sid).

The plan is to tell the maintainers about the outcome of this request, so that
they can do the necessary steps to tweak the changelog entry and get the
package uploaded.

The three first bugs (#787419, #748469, #788002) are (in my opinion) extremely
important to get fixed in Jessie. Justification for why they should go into
Jessie has been added to the Description field of every patch file. The last
bug (#773135) is not that important, but still very useful to get in since the
package anyway will be updated. Please let us know if we should skip that and
only keep the first three. All the bugs have of course already been fixed
upstream and in sid.

Let us know if there is anything else we should do to help out.

Thanks for your attention.

Best regards,
Ruben Undheim


[1] https://bugs.debian.org/776696
[2] http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/2015-August/121106.html
[3] http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/2015-August/121138.html


The source debdiff is as follows:


diff -Nru gtk+3.0-3.14.5/debian/changelog gtk+3.0-3.14.5/debian/changelog
--- gtk+3.0-3.14.5/debian/changelog	2014-11-11 18:55:48.000000000 +0100
+++ gtk+3.0-3.14.5/debian/changelog	2015-08-17 20:20:06.000000000 +0200
@@ -1,3 +1,15 @@
+gtk+3.0 (3.14.5-1+deb8u1) jessie; urgency=medium
+
+  [ Ruben Undheim ]
+  * Added patches for three serious bugs:
+    - debian/patches/074_fix_freeze_while_resume_events.patch (Closes: #787419)
+    - debian/patches/075_fontchoose_crash_bugfix.patch (Closes: #748469)
+    - debian/patches/076_treeview_dont_create_overly_large.patch (Closes: #788002)
+  * Added patch for one annoying bug:
+    - debian/patches/081_fix_huge_icons.patch (Closes: #773135)
+
+ -- maintainer <maintainer@email.com>  Mon, 17 Aug 2015 09:53:13 +0200
+
 gtk+3.0 (3.14.5-1) unstable; urgency=medium
 
   * New upstream bugfix release.
diff -Nru gtk+3.0-3.14.5/debian/patches/074_fix_freeze_while_resume_events.patch gtk+3.0-3.14.5/debian/patches/074_fix_freeze_while_resume_events.patch
--- gtk+3.0-3.14.5/debian/patches/074_fix_freeze_while_resume_events.patch	1970-01-01 01:00:00.000000000 +0100
+++ gtk+3.0-3.14.5/debian/patches/074_fix_freeze_while_resume_events.patch	2015-08-17 20:20:06.000000000 +0200
@@ -0,0 +1,59 @@
+Description: This patch fixes a bug causing gtk applications to freeze
+ every now and then.
+ .
+ It deserves to be applied in Jessie because it will and have caused users
+ to lose their work. One common consequence of the bug is that all open
+ gnome-terminal instances may suddenly crash at the same time.
+Author: Ruben Undheim <ruben.undheim@gmail.com>
+Bug-Debian: https://bugs.debian.org/787419
+Origin: upstream
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=742636
+Last-Update: 2015-08-17
+
+Index: gtk+3.0-3.14.5/gdk/gdkinternals.h
+===================================================================
+--- gtk+3.0-3.14.5.orig/gdk/gdkinternals.h
++++ gtk+3.0-3.14.5/gdk/gdkinternals.h
+@@ -240,6 +240,7 @@ struct _GdkWindow
+   guint in_update : 1;
+   guint geometry_dirty : 1;
+   guint event_compression : 1;
++  guint frame_clock_events_paused : 1;
+
+   /* The GdkWindow that has the impl, ref:ed if another window.
+    * This ref is required to keep the wrapper of the impl window alive
+Index: gtk+3.0-3.14.5/gdk/gdkwindow.c
+===================================================================
+--- gtk+3.0-3.14.5.orig/gdk/gdkwindow.c
++++ gtk+3.0-3.14.5/gdk/gdkwindow.c
+@@ -10603,6 +10603,8 @@ gdk_window_flush_events (GdkFrameClock *
+   _gdk_display_pause_events (display);
+
+   gdk_frame_clock_request_phase (clock, GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS);
++
++  window->frame_clock_events_paused = TRUE;
+ }
+
+ static void
+@@ -10629,6 +10631,8 @@ gdk_window_resume_events (GdkFrameClock
+
+   display = gdk_window_get_display (window);
+   _gdk_display_unpause_events (display);
++
++  window->frame_clock_events_paused = FALSE;
+ }
+
+ static void
+@@ -10661,6 +10665,9 @@ gdk_window_set_frame_clock (GdkWindow
+
+   if (window->frame_clock)
+     {
++     if (window->frame_clock_events_paused)
++       gdk_window_resume_events (window->frame_clock, G_OBJECT (window));
++
+       g_signal_handlers_disconnect_by_func (G_OBJECT (window->frame_clock),
+                                             G_CALLBACK (gdk_window_flush_events),
+                                             window);
+
+
+
diff -Nru gtk+3.0-3.14.5/debian/patches/075_fontchoose_crash_bugfix.patch gtk+3.0-3.14.5/debian/patches/075_fontchoose_crash_bugfix.patch
--- gtk+3.0-3.14.5/debian/patches/075_fontchoose_crash_bugfix.patch	1970-01-01 01:00:00.000000000 +0100
+++ gtk+3.0-3.14.5/debian/patches/075_fontchoose_crash_bugfix.patch	2015-08-17 20:20:06.000000000 +0200
@@ -0,0 +1,81 @@
+Description: Backporting a fix for a bug which makes the font chooser
+ crash GTK applications in certain circumstances.
+ .
+ It deserves to be applied in Jessie because all GTK programs using a font
+ chooser may suddenly crash completely apparently out of nowhere.
+Author: Ruben Undheim <ruben.undheim@gmail.com>
+Bug-Debian: https://bugs.debian.org/748469
+Origin: upstream
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=750211
+Last-Update: 2015-08-17
+
+Index: gtk+3.0-3.14.5/gtk/gtkfontchooserwidget.c
+===================================================================
+--- gtk+3.0-3.14.5.orig/gtk/gtkfontchooserwidget.c	2014-11-09 18:57:30.000000000 +0100
++++ gtk+3.0-3.14.5/gtk/gtkfontchooserwidget.c	2015-08-17 09:41:29.508643739 +0200
+@@ -377,34 +377,25 @@
+ tree_model_get_font_description (GtkTreeModel *model,
+                                  GtkTreeIter  *iter)
+ {
+-  PangoFontDescription *desc;
++  PangoFontDescription *desc, *face_desc;
+   PangoFontFace *face;
+-  GtkTreeIter child_iter;
+ 
+   gtk_tree_model_get (model, iter,
+                       FONT_DESC_COLUMN, &desc,
+                       -1);
+-  if (desc != NULL)
++
++  if (pango_font_description_get_set_fields (desc) != 0)
+     return desc;
+ 
+   gtk_tree_model_get (model, iter,
+                       FACE_COLUMN, &face,
+                       -1);
+-  desc = pango_font_face_describe (face);
++  face_desc = pango_font_face_describe (face);
+   g_object_unref (face);
+-  
+-  if (GTK_IS_TREE_MODEL_FILTER (model))
+-    {
+-      gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model),
+-                                                        &child_iter,
+-                                                        iter);
+-      iter = &child_iter;
+-      model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model));
+-    }
+ 
+-  gtk_list_store_set (GTK_LIST_STORE (model), iter,
+-                      FONT_DESC_COLUMN, desc,
+-                      -1);
++  pango_font_description_merge (desc, face_desc, TRUE);
++
++  pango_font_description_free (face_desc);
+ 
+   return desc;
+ }
+@@ -643,19 +634,23 @@
+ 
+       for (j = 0; j < n_faces; j++)
+         {
++          PangoFontDescription *empty_font_desc;
+           const gchar *face_name;
+ 
+           face_name = pango_font_face_get_face_name (faces[j]);
+ 
+           family_and_face = g_strconcat (fam_name, " ", face_name, NULL);
++          empty_font_desc = pango_font_description_new ();
+ 
+           gtk_list_store_insert_with_values (list_store, &iter, -1,
+                                              FAMILY_COLUMN, families[i],
+                                              FACE_COLUMN, faces[j],
++                                             FONT_DESC_COLUMN, empty_font_desc,
+                                              PREVIEW_TITLE_COLUMN, family_and_face,
+                                              -1);
+ 
+           g_free (family_and_face);
++          pango_font_description_free (empty_font_desc);
+         }
+ 
+       g_free (faces);
diff -Nru gtk+3.0-3.14.5/debian/patches/076_treeview_dont_create_overly_large.patch gtk+3.0-3.14.5/debian/patches/076_treeview_dont_create_overly_large.patch
--- gtk+3.0-3.14.5/debian/patches/076_treeview_dont_create_overly_large.patch	1970-01-01 01:00:00.000000000 +0100
+++ gtk+3.0-3.14.5/debian/patches/076_treeview_dont_create_overly_large.patch	2015-08-17 20:20:06.000000000 +0200
@@ -0,0 +1,26 @@
+Description: Backport of fix for a bug that causes crashes with programs
+ such as easytag.
+ .
+ It deserves to be applied in Jessie because it makes several programs
+ suddenly crash apparently out of nowhere.
+Author: Ruben Undheim <ruben.undheim@gmail.com>
+Bug-Debian: https://bugs.debian.org/788002
+Origin: upstream
+Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1163579
+Last-Update: 2015-08-17
+
+Index: gtk+3.0/gtk/gtktreeview.c
+===================================================================
+--- gtk+3.0.orig/gtk/gtktreeview.c	2015-08-17 09:57:38.613296608 +0200
++++ gtk+3.0/gtk/gtktreeview.c	2015-08-17 10:46:42.893021554 +0200
+@@ -5576,8 +5576,8 @@
+ 
+       view_rect.x = 0;
+       view_rect.y = gtk_tree_view_get_effective_header_height (tree_view);
+-      view_rect.width = gdk_window_get_width (tree_view->priv->bin_window);
+-      view_rect.height = gdk_window_get_height (tree_view->priv->bin_window);
++      view_rect.width = gtk_widget_get_allocated_width (widget);
++      view_rect.height = gtk_widget_get_allocated_height (widget) - view_rect.y;
+ 
+       gdk_window_get_position (tree_view->priv->bin_window, &canvas_rect.x, &canvas_rect.y);
+       canvas_rect.y = -gtk_adjustment_get_value (tree_view->priv->vadjustment);
diff -Nru gtk+3.0-3.14.5/debian/patches/081_fix_huge_icons.patch gtk+3.0-3.14.5/debian/patches/081_fix_huge_icons.patch
--- gtk+3.0-3.14.5/debian/patches/081_fix_huge_icons.patch	1970-01-01 01:00:00.000000000 +0100
+++ gtk+3.0-3.14.5/debian/patches/081_fix_huge_icons.patch	2015-08-17 20:20:06.000000000 +0200
@@ -0,0 +1,36 @@
+Description: Backporting a fix for a bug which cause trouble with icon sizes
+ in GTK applications
+ .
+ It deserves to be applied in Jessie mainly because it is quite annoying and
+ the fix is very small and hence little chance of any regression.
+Author: Ruben Undheim <ruben.undheim@gmail.com>
+Bug-Debian: https://bugs.debian.org/773135
+Origin: upstream
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=741259
+Last-Update: 2015-08-17
+
+Index: gtk-bugfix/gtk/deprecated/gtkimagemenuitem.c
+===================================================================
+--- gtk-bugfix.orig/gtk/deprecated/gtkimagemenuitem.c
++++ gtk-bugfix/gtk/deprecated/gtkimagemenuitem.c
+@@ -1099,6 +1099,8 @@ gtk_image_menu_item_set_image (GtkImageM
+                 "no-show-all", TRUE,
+                 NULL);
+ 
++  gtk_image_set_pixel_size (GTK_IMAGE (image), 16);
++
+   g_object_notify (G_OBJECT (image_menu_item), "image");
+ }
+ 
+Index: gtk-bugfix/gtk/gtkmodelmenuitem.c
+===================================================================
+--- gtk-bugfix.orig/gtk/gtkmodelmenuitem.c
++++ gtk-bugfix/gtk/gtkmodelmenuitem.c
+@@ -199,6 +199,7 @@ gtk_model_menu_item_set_icon (GtkModelMe
+       GtkWidget *image;
+ 
+       image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_MENU);
++      gtk_image_set_pixel_size (GTK_IMAGE (image), 16);
+       gtk_box_pack_start (GTK_BOX (child), image, FALSE, FALSE, 0);
+       gtk_widget_show (image);
+     }
diff -Nru gtk+3.0-3.14.5/debian/patches/series gtk+3.0-3.14.5/debian/patches/series
--- gtk+3.0-3.14.5/debian/patches/series	2014-11-11 18:54:35.000000000 +0100
+++ gtk+3.0-3.14.5/debian/patches/series	2015-08-17 20:20:06.000000000 +0200
@@ -12,3 +12,7 @@
 061_multiarch_module_fallback.patch
 071_fix-installation-of-HTML-images.patch
 reftest-known-fail.patch
+074_fix_freeze_while_resume_events.patch
+075_fontchoose_crash_bugfix.patch
+076_treeview_dont_create_overly_large.patch
+081_fix_huge_icons.patch

Attachment: signature.asc
Description: Digital signature


Reply to: