[arch-commits] Commit in gnome-terminal/repos/extra-x86_64 (3 files)

Jan Steffens heftig at archlinux.org
Fri Mar 27 22:08:17 UTC 2020


    Date: Friday, March 27, 2020 @ 22:08:16
  Author: heftig
Revision: 378577

archrelease: copy trunk to extra-x86_64

Added:
  gnome-terminal/repos/extra-x86_64/0001-screen-Don-t-dereference-data-unchecked.patch
    (from rev 378576, gnome-terminal/trunk/0001-screen-Don-t-dereference-data-unchecked.patch)
  gnome-terminal/repos/extra-x86_64/PKGBUILD
    (from rev 378576, gnome-terminal/trunk/PKGBUILD)
Deleted:
  gnome-terminal/repos/extra-x86_64/PKGBUILD

----------------------------------------------------+
 0001-screen-Don-t-dereference-data-unchecked.patch |   71 ++++++++++++++
 PKGBUILD                                           |   96 ++++++++++---------
 2 files changed, 122 insertions(+), 45 deletions(-)

Copied: gnome-terminal/repos/extra-x86_64/0001-screen-Don-t-dereference-data-unchecked.patch (from rev 378576, gnome-terminal/trunk/0001-screen-Don-t-dereference-data-unchecked.patch)
===================================================================
--- 0001-screen-Don-t-dereference-data-unchecked.patch	                        (rev 0)
+++ 0001-screen-Don-t-dereference-data-unchecked.patch	2020-03-27 22:08:16 UTC (rev 378577)
@@ -0,0 +1,71 @@
+From 07197c413c19e9aa51ccd29051889307650bede7 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Fri, 27 Mar 2020 21:59:16 +0000
+Subject: [PATCH] screen: Don't dereference data unchecked
+
+It might be NULL. Here, it causes Terminal to crash when opening a new
+tab.
+
+    #0  terminal_screen_reexec_from_exec_data (error=0x0, cancellable=0x0, cwd=<optimized out>, envv=0x0, data=0x0, screen=0x55c26b5e6a10) at terminal-screen.c:859
+            __func__ = "terminal_screen_reexec_from_screen"
+    #1  terminal_screen_reexec_from_screen (screen=screen at entry=0x55c26b5e6a10, parent_screen=parent_screen at entry=0x55c26b5e67f0, cancellable=cancellable at entry=0x0, error=error at entry=0x0) at terminal-screen.c:859
+            __func__ = "terminal_screen_reexec_from_screen"
+    #2  0x000055c2694b644f in action_new_terminal_cb (action=<optimized out>, parameter=<optimized out>, user_data=0x55c26b5e43b0) at terminal-window.c:409
+            window = 0x55c26b5e43b0
+            priv = <optimized out>
+            app = <optimized out>
+            profiles_list = <optimized out>
+            profile = 0x7fbee8003e10
+            can_toggle = <optimized out>
+            __func__ = "action_new_terminal_cb"
+            mode_str = 0x55c26b318dc0 "tab"
+            uuid_str = 0x55c26b318dc4 "current"
+            mode = TERMINAL_NEW_TERMINAL_MODE_TAB
+            parent_screen = 0x55c26b5e67f0
+            screen = 0x55c26b5e6a10
+    #3  0x00007fbf0538f61a in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
+    #4  0x00007fbf0537097e in  () at /usr/lib/libgobject-2.0.so.0
+    #5  0x00007fbf05373ab9 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
+    #6  0x00007fbf053756b0 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
+    #7  0x00007fbf05440c5e in  () at /usr/lib/libgio-2.0.so.0
+    #8  0x00007fbf05441271 in g_action_activate () at /usr/lib/libgio-2.0.so.0
+    #9  0x00007fbf05aae63f in  () at /usr/lib/libgtk-3.so.0
+    #10 0x00007fbf05aae675 in  () at /usr/lib/libgtk-3.so.0
+    #11 0x00007fbf05aae675 in  () at /usr/lib/libgtk-3.so.0
+    #12 0x00007fbf05807093 in gtk_window_activate_key () at /usr/lib/libgtk-3.so.0
+    #13 0x00007fbf0580c013 in  () at /usr/lib/libgtk-3.so.0
+    #14 0x00007fbf05abde1c in  () at /usr/lib/libgtk-3.so.0
+    #15 0x00007fbf053740a0 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
+    #16 0x00007fbf053756b0 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
+    #17 0x00007fbf05826c26 in  () at /usr/lib/libgtk-3.so.0
+    #18 0x00007fbf0596d14a in  () at /usr/lib/libgtk-3.so.0
+    #19 0x00007fbf0597061c in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
+    #20 0x00007fbf05680f84 in  () at /usr/lib/libgdk-3.so.0
+    #21 0x00007fbf05650454 in  () at /usr/lib/libgdk-3.so.0
+    #22 0x00007fbf052949be in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
+    #23 0x00007fbf05296831 in  () at /usr/lib/libglib-2.0.so.0
+    #24 0x00007fbf05296871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
+    #25 0x00007fbf0544d2de in g_application_run () at /usr/lib/libgio-2.0.so.0
+    #26 0x000055c2694961f5 in main (argc=<optimized out>, argv=<optimized out>) at server.c:190
+            app = 0x55c26b5a8180
+            r = 0
+---
+ src/terminal-screen.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/terminal-screen.c b/src/terminal-screen.c
+index f1475c41..33fbb5df 100644
+--- a/src/terminal-screen.c
++++ b/src/terminal-screen.c
+@@ -828,7 +828,7 @@ terminal_screen_reexec_from_exec_data (TerminalScreen *screen,
+                                envv ? envv : data ? data->envv : NULL,
+                                data ? data->as_shell : TRUE,
+                                /* If we have command line args, must always pass the cwd from the command line, too */
+-                               data->argv ? data->cwd : cwd ? cwd : data ? data->cwd : NULL,
++                               data && data->argv ? data->cwd : cwd ? cwd : data ? data->cwd : NULL,
+                                NULL /* fd list */, NULL /* fd array */,
+                                NULL, NULL, NULL, /* callback + data + destroy notify */
+                                cancellable,
+-- 
+2.25.2
+

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2020-03-27 22:07:13 UTC (rev 378576)
+++ PKGBUILD	2020-03-27 22:08:16 UTC (rev 378577)
@@ -1,45 +0,0 @@
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-
-pkgname=gnome-terminal
-pkgver=3.36.1
-pkgrel=1
-pkgdesc="The GNOME Terminal Emulator"
-url="https://wiki.gnome.org/Apps/Terminal"
-arch=(x86_64)
-license=(GPL)
-depends=('vte3>=0.60.0' gsettings-desktop-schemas)
-makedepends=(itstool docbook-xsl libnautilus-extension appstream-glib
-             gnome-shell vala yelp-tools git)
-groups=(gnome)
-_commit=c428fb95b47a71743c166f89d1371e9ef327230d  # tags/3.36.1^0
-source=("git+https://gitlab.gnome.org/GNOME/gnome-terminal.git#commit=$_commit")
-sha256sums=('SKIP')
-
-pkgver() {
-  cd $pkgname
-  git describe --tags | sed 's/-/+/g'
-}
-
-prepare() {
-  cd $pkgname
-  NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
-  cd $pkgname
-  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
-    --libexecdir=/usr/lib --disable-static --with-nautilus-extension
-  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-  make
-}
-
-check() {
-  cd $pkgname
-  make check
-}
-
-package() {
-  cd $pkgname
-  make DESTDIR="$pkgdir" install
-}

Copied: gnome-terminal/repos/extra-x86_64/PKGBUILD (from rev 378576, gnome-terminal/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2020-03-27 22:08:16 UTC (rev 378577)
@@ -0,0 +1,51 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=gnome-terminal
+pkgver=3.36.1
+pkgrel=2
+pkgdesc="The GNOME Terminal Emulator"
+url="https://wiki.gnome.org/Apps/Terminal"
+arch=(x86_64)
+license=(GPL)
+depends=('vte3>=0.60.0' gsettings-desktop-schemas)
+makedepends=(itstool docbook-xsl libnautilus-extension appstream-glib
+             gnome-shell vala yelp-tools git)
+groups=(gnome)
+_commit=c428fb95b47a71743c166f89d1371e9ef327230d  # tags/3.36.1^0
+source=("git+https://gitlab.gnome.org/GNOME/gnome-terminal.git#commit=$_commit"
+        0001-screen-Don-t-dereference-data-unchecked.patch)
+sha256sums=('SKIP'
+            'aeb8b02bdfdd02321fdb376964d25338d64b8cc7f6d9e3522eb018246b2e82cf')
+
+pkgver() {
+  cd $pkgname
+  git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+  cd $pkgname
+  
+  # Fix crash on tab open
+  git apply -3 ../0001-screen-Don-t-dereference-data-unchecked.patch
+
+  NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+  cd $pkgname
+  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+    --libexecdir=/usr/lib --disable-static --with-nautilus-extension
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+  make
+}
+
+check() {
+  cd $pkgname
+  make check
+}
+
+package() {
+  cd $pkgname
+  make DESTDIR="$pkgdir" install
+}



More information about the arch-commits mailing list