summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authordudemanguy2020-10-06 18:39:57 -0500
committerdudemanguy2020-10-06 18:39:57 -0500
commit2d476ea19f3e98c5f4121e31ad916d5aa27be9e6 (patch)
treec2f1b9dd0095e99c28cfe715e11e0ee6b73e7247
parent2397d3a9e19f87822b0117c29b1336f82cd7b8c1 (diff)
downloadaur-2d476ea19f3e98c5f4121e31ad916d5aa27be9e6.tar.gz
3.24.23-4
-rw-r--r--.SRCINFO6
-rw-r--r--0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch64
-rw-r--r--PKGBUILD11
3 files changed, 78 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index db4c96eaeee4..0e173a58dda4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = gtk3-patched-filechooser-icon-view
pkgdesc = GTK3 patched with dudemanguy's fork of wfr's filechooser-icon-view patch.
pkgver = 3.24.23
- pkgrel = 1.1
+ pkgrel = 4
epoch = 1
url = https://github.com/Dudemanguy/gtk
install = gtk3.install
@@ -42,6 +42,8 @@ pkgbase = gtk3-patched-filechooser-icon-view
depends = libcanberra
depends = fribidi
depends = iso-codes
+ depends = tracker3
+ depends = libcloudproviders
depends = gtk-update-icon-cache
optdepends = glib2-patched-thumbnailer: Thumbnail generation in upload dialog
provides = gtk3=3.24.23
@@ -53,10 +55,12 @@ pkgbase = gtk3-patched-filechooser-icon-view
conflicts = gtk3-print-backends
replaces = gtk3-print-backends<=3.22.26-1
source = git+https://gitlab.gnome.org/GNOME/gtk.git#commit=016e8c55ab924c9ef4d32c8cb06253b1dc1be60d
+ source = 0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch
source = settings.ini
source = gtk-query-immodules-3.0.hook
source = gtk3-filechooser-icon-view.patch
sha256sums = SKIP
+ sha256sums = d6f6bf347482553bc20a1640c1619f674520b853a5b2ade9fd56bb77bfdfe170
sha256sums = 01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202
sha256sums = a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229
sha256sums = 37d8d594ee3ef4528b8066992999c39746f3506078083a7d21c19bbceae87b2b
diff --git a/0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch b/0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch
new file mode 100644
index 000000000000..9e3d21843c51
--- /dev/null
+++ b/0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch
@@ -0,0 +1,64 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 6 Oct 2020 21:14:45 +0000
+Subject: [PATCH] gtkplacessidebar: Disconnect and unref cloud_manager in
+ dispose
+
+The manager's providers-changed signal can fire after the sidebar has
+been freed. Make sure we disconnect the sidebar from the manager.
+
+https://bugs.archlinux.org/task/57984
+https://bugs.archlinux.org/task/68123
+---
+ gtk/gtkplacessidebar.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
+index 87c08a5389..118739fdd2 100644
+--- a/gtk/gtkplacessidebar.c
++++ b/gtk/gtkplacessidebar.c
+@@ -4411,32 +4411,32 @@ gtk_places_sidebar_dispose (GObject *object)
+ sidebar->shortcuts = NULL;
+
+ #ifdef HAVE_CLOUDPROVIDERS
+- for (l = cloud_providers_collector_get_providers (sidebar->cloud_manager);
+- l != NULL; l = l->next)
+- {
+- g_signal_handlers_disconnect_by_data (l->data, sidebar);
+- }
+ for (l = sidebar->unready_accounts; l != NULL; l = l->next)
+ {
+ g_signal_handlers_disconnect_by_data (l->data, sidebar);
+ }
+ g_list_free_full (sidebar->unready_accounts, g_object_unref);
+ sidebar->unready_accounts = NULL;
++
++ if (sidebar->cloud_manager)
++ {
++ g_signal_handlers_disconnect_by_data (sidebar->cloud_manager, sidebar);
++ for (l = cloud_providers_collector_get_providers (sidebar->cloud_manager);
++ l != NULL; l = l->next)
++ {
++ g_signal_handlers_disconnect_by_data (l->data, sidebar);
++ }
++ g_object_unref (sidebar->cloud_manager);
++ sidebar->cloud_manager = NULL;
++ }
+ #endif
+
+ G_OBJECT_CLASS (gtk_places_sidebar_parent_class)->dispose (object);
+ }
+
+ static void
+ gtk_places_sidebar_finalize (GObject *object)
+ {
+-#ifdef HAVE_CLOUDPROVIDERS
+- GtkPlacesSidebar *sidebar;
+-
+- sidebar = GTK_PLACES_SIDEBAR (object);
+- g_clear_object (&sidebar->cloud_manager);
+-#endif
+-
+ G_OBJECT_CLASS (gtk_places_sidebar_parent_class)->finalize (object);
+ }
+
diff --git a/PKGBUILD b/PKGBUILD
index 39cc6f16ceff..7e23a9d23b70 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=gtk3-patched-filechooser-icon-view
pkgver=3.24.23
-pkgrel=1.1
+pkgrel=4
epoch=1
pkgdesc="GTK3 patched with dudemanguy's fork of wfr's filechooser-icon-view patch."
arch=(x86_64)
@@ -16,7 +16,8 @@ replaces=('gtk3-print-backends<=3.22.26-1')
depends=(atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 dconf
libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon
adwaita-icon-theme json-glib librsvg wayland-protocols desktop-file-utils mesa
- cantarell-fonts colord rest libcups libcanberra fribidi iso-codes gtk-update-icon-cache)
+ cantarell-fonts colord rest libcups libcanberra fribidi iso-codes tracker3
+ libcloudproviders gtk-update-icon-cache)
optdepends=('glib2-patched-thumbnailer: Thumbnail generation in upload dialog')
makedepends=(gobject-introspection gtk-doc git glib2-docs sassc meson)
@@ -24,11 +25,13 @@ license=(LGPL)
install=gtk3.install
_commit=016e8c55ab924c9ef4d32c8cb06253b1dc1be60d # tags/3.24.23^0
source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit"
+ 0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch
settings.ini
gtk-query-immodules-3.0.hook
gtk3-filechooser-icon-view.patch)
sha256sums=('SKIP'
+ 'd6f6bf347482553bc20a1640c1619f674520b853a5b2ade9fd56bb77bfdfe170'
'01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202'
'a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229'
'37d8d594ee3ef4528b8066992999c39746f3506078083a7d21c19bbceae87b2b')
@@ -40,6 +43,9 @@ pkgver() {
prepare() {
cd gtk
+ # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2669
+ git apply -3 ../0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch
+
# apply icon-view patch
git apply -3 ../gtk3-filechooser-icon-view.patch
}
@@ -48,6 +54,7 @@ build() {
CFLAGS+=" -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
arch-meson gtk build \
-D broadway_backend=true \
+ -D cloudproviders=true \
-D colord=yes \
-D gtk_doc=true \
-D man=true