summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2019-03-29 23:28:45 -0400
committerMark H Weaver <mhw@netris.org>2019-03-30 02:34:24 -0400
commitbc91562939ee002e84c95d13c907482b6d1e9339 (patch)
tree9daa889a8e2d937ce80ca4d402ec8a66260ea3f7 /gnu/packages/patches
parentc948cf90925dee5c07119140636e78877e9374b4 (diff)
downloadguix-bc91562939ee002e84c95d13c907482b6d1e9339.tar.gz
gnu: gtk+: Graft upstream fix for crashes in Emacs and IceCat.
Fixes <https://bugs.gnu.org/34454>.

* gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm (gtk+/fixed): New variable.
(gtk+)[replacement]: New field.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch
new file mode 100644
index 0000000000..e933555ffb
--- /dev/null
+++ b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch
@@ -0,0 +1,28 @@
+Copied from <https://gitlab.gnome.org/GNOME/gtk/commit/e3a1593a>.
+Fixes upstream bugs <https://gitlab.gnome.org/GNOME/gtk/issues/1523>
+and <https://gitlab.gnome.org/GNOME/gtk/issues/1280>.
+
+diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
+index 97ada6d73919fba3dfe192dd66929e90bc7677bb..764e39495f7edb0c3efe41cca25b8bee4778887d 100644
+--- a/gdk/x11/gdkwindow-x11.c
++++ b/gdk/x11/gdkwindow-x11.c
+@@ -2985,6 +2985,7 @@ gdk_window_x11_set_background (GdkWindow      *window,
+   double r, g, b, a;
+   cairo_surface_t *surface;
+   cairo_matrix_t matrix;
++  cairo_pattern_t *parent_relative_pattern;
+ 
+   if (GDK_WINDOW_DESTROYED (window))
+     return;
+@@ -2997,8 +2998,10 @@ gdk_window_x11_set_background (GdkWindow      *window,
+     }
+ 
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+-  if (pattern == gdk_x11_get_parent_relative_pattern ())
++  parent_relative_pattern = gdk_x11_get_parent_relative_pattern ();
+ G_GNUC_END_IGNORE_DEPRECATIONS
++
++  if (pattern == parent_relative_pattern)
+     {
+       GdkWindow *parent;
+