From: Mark H Weaver <mhw@netris.org>
To: 34454@debbugs.gnu.org, 34658@debbugs.gnu.org, 34528@debbugs.gnu.org
Cc: Joshua Branson <jbranso@dismail.de>,
Bradley Haggerty <bradigger@gmail.com>
Subject: bug#34528: Gtk upstream bug #1280 causes crashes in IceCat and Emacs
Date: Fri, 29 Mar 2019 23:47:25 -0400 [thread overview]
Message-ID: <87muld58gn.fsf@netris.org> (raw)
In-Reply-To: <871s456q73.fsf@dismail.de>
[-- Attachment #1: Type: text/plain, Size: 1055 bytes --]
merge 34454 34658 34528
retitle 34454 Gtk upstream bug #1280 causes crashes in IceCat and Emacs
thanks
Hello all,
I looked into this, and I believe all of these bugs are caused by Gtk
upstream bug #1280:
https://gitlab.gnome.org/GNOME/gtk/issues/1280
which is apparently fixed by the following upstream commit:
https://gitlab.gnome.org/GNOME/gtk/commit/e3a1593a0984cc0156ec1892a46af8f256a64878
Here's another upstream bug report that's more obviously related to
this, and upstream decided it was a duplicate with #1280:
https://gitlab.gnome.org/GNOME/gtk/issues/1523
Also, here's the same bug reported for NixOS and Arch:
https://github.com/NixOS/nixpkgs/issues/53697
https://bugs.archlinux.org/task/61050
I've attached a proposed patch to fix this in Guix. I'm currently
testing the patch on my system to make sure it doesn't cause any
problems, although I cannot reproduce this bug on my own system.
If those affected by this issue would like to test this patch and report
back, that would be helpful.
Regards,
Mark
[-- Attachment #2: [PATCH] UNTESTED: gnu: gtk+: Add upstream fix for crashes in Emacs and IceCat --]
[-- Type: text/x-patch, Size: 4338 bytes --]
From 5a11003732688c0fbbfdc831774f58ff6fe20a0b Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Fri, 29 Mar 2019 23:28:45 -0400
Subject: [PATCH] UNTESTED: gnu: gtk+: Add upstream fix for crashes in Emacs
and IceCat.
* 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.
---
gnu/local.mk | 1 +
gnu/packages/gtk.scm | 12 +++++++-
.../gtk3-fix-deprecation-macro-use.patch | 29 +++++++++++++++++++
3 files changed, 41 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 18531d9a76..5639bc58d1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -887,6 +887,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
+ %D%/packages/patches/gtk3-fix-deprecation-macro-use.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index aab392758f..1d26aab963 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
@@ -694,6 +694,7 @@ application suites.")
;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
;; mate.scm will also need to be updated.
(version "3.24.2")
+ (replacement gtk+/fixed)
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -787,6 +788,15 @@ application suites.")
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
+(define gtk+/fixed
+ (package
+ (inherit gtk+)
+ (source (origin
+ (inherit (package-source gtk+))
+ (patches
+ (cons (search-patch "gtk3-fix-deprecation-macro-use.patch")
+ (origin-patches (package-source gtk+))))))))
+
;;;
;;; Guile bindings.
;;;
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..39cd4bd59a
--- /dev/null
+++ b/gnu/packages/patches/gtk3-fix-deprecation-macro-use.patch
@@ -0,0 +1,29 @@
+Copied from <https://gitlab.gnome.org/GNOME/gtk/commit/e3a1593a>.
+Fixes upstream bug <https://gitlab.gnome.org/GNOME/gtk/issues/1280>,
+and hopefully also <https://bugs.gnu.org/34528>,
+<https://bugs.gnu.org/34454>, and <https://bugs.gnu.org/34658>.
+
+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;
+
--
2.21.0
next prev parent reply other threads:[~2019-03-30 3:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-18 16:01 bug#34528: Icecat is crashing on search Joshua Branson
2019-03-30 3:47 ` Mark H Weaver [this message]
2019-03-30 4:56 ` bug#34454: Gtk upstream bug #1280 causes crashes in IceCat and Emacs Carlo Zancanaro
2019-03-30 6:41 ` Mark H Weaver
2019-03-31 10:07 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87muld58gn.fsf@netris.org \
--to=mhw@netris.org \
--cc=34454@debbugs.gnu.org \
--cc=34528@debbugs.gnu.org \
--cc=34658@debbugs.gnu.org \
--cc=bradigger@gmail.com \
--cc=jbranso@dismail.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).