Date: Sunday, December 6, 2020 @ 02:27:32 Author: heftig Revision: 402913
3.24.24-1 Modified: gtk3/trunk/PKGBUILD Deleted: gtk3/trunk/0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch -----------------------------------------------------------------+ 0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch | 64 ---------- PKGBUILD | 11 - 2 files changed, 3 insertions(+), 72 deletions(-) Deleted: 0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch =================================================================== --- 0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch 2020-12-05 21:46:05 UTC (rev 402912) +++ 0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch 2020-12-06 02:27:32 UTC (rev 402913) @@ -1,64 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <[email protected]> -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); - } - Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-12-05 21:46:05 UTC (rev 402912) +++ PKGBUILD 2020-12-06 02:27:32 UTC (rev 402913) @@ -3,8 +3,8 @@ pkgbase=gtk3 pkgname=(gtk3 gtk-update-icon-cache) -pkgver=3.24.23 -pkgrel=4 +pkgver=3.24.24 +pkgrel=1 epoch=1 pkgdesc="GObject-based multi-platform GUI toolkit" arch=(x86_64) @@ -16,15 +16,13 @@ libcups libcanberra fribidi iso-codes tracker3 libcloudproviders) makedepends=(gobject-introspection gtk-doc git glib2-docs sassc meson) license=(LGPL) -_commit=016e8c55ab924c9ef4d32c8cb06253b1dc1be60d # tags/3.24.23^0 +_commit=de8329b3ce4b235eac9ddcbb6cd121cc83dd9e74 # tags/3.24.24^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 gtk-update-icon-cache.hook gtk-update-icon-cache.script) sha256sums=('SKIP' - 'd6f6bf347482553bc20a1640c1619f674520b853a5b2ade9fd56bb77bfdfe170' '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202' 'a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229' '2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8' @@ -37,9 +35,6 @@ prepare() { cd gtk - - # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2669 - git apply -3 ../0001-gtkplacessidebar-Disconnect-and-unref-cloud_manager-.patch } build() {
