Date: Tuesday, December 10, 2019 @ 08:38:58 Author: jelle Revision: 536488
archrelease: copy trunk to community-x86_64 Added: libwnck/repos/community-x86_64/PKGBUILD (from rev 536487, libwnck/trunk/PKGBUILD) libwnck/repos/community-x86_64/WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch (from rev 536487, libwnck/trunk/WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch) Deleted: libwnck/repos/community-x86_64/PKGBUILD libwnck/repos/community-x86_64/WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch ----------------------------------------------------------------------+ PKGBUILD | 70 +-- WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch | 208 +++++----- 2 files changed, 139 insertions(+), 139 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-12-10 08:38:53 UTC (rev 536487) +++ PKGBUILD 2019-12-10 08:38:58 UTC (rev 536488) @@ -1,35 +0,0 @@ -# Maintainer: Jan de Groot <j...@archlinux.org> -pkgname=libwnck -pkgver=2.31.0 -pkgrel=2 -pkgdesc="Window Navigator Construction Kit" -arch=('x86_64') -license=('LGPL') -depends=('gtk2' 'startup-notification' 'libxres') -makedepends=('libxt' 'intltool' 'gobject-introspection' 'python2') -url="https://www.gnome.org/" -source=(https://download.gnome.org/sources/${pkgname}/${pkgver:0:4}/${pkgname}-${pkgver}.tar.xz - WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch) -sha512sums=('54262a08882021f08f3ba7f2ddfa33fc1f02e391a0f61cf999a50a089e0d277dfe13ab133c1a46e9abf0599bd24c21dacff80b51013cbb1375d2cd71ac9abbe9' - '1ba6ee8503e71daf103b7285ce0690042ebd86a4b85728a04ff32e6ee5789d2be71ba32149b0c246518bc47a27a233edfa9cfac9eca16cc44b3c6c8d19943423') - -prepare() { - cd $pkgname-$pkgver - patch -Np1 -i ../WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch -} -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --disable-static - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - - #The binaries are shipped in libwnck3 - rm -f "${pkgdir}/usr/bin/wnckprop" - rm -f "${pkgdir}/usr/bin/wnck-urgency-monitor" - rmdir "${pkgdir}/usr/bin" -} Copied: libwnck/repos/community-x86_64/PKGBUILD (from rev 536487, libwnck/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-12-10 08:38:58 UTC (rev 536488) @@ -0,0 +1,35 @@ +# Maintainer: Jan de Groot <j...@archlinux.org> +pkgname=libwnck +pkgver=2.31.0 +pkgrel=3 +pkgdesc="Window Navigator Construction Kit" +arch=('x86_64') +license=('LGPL') +depends=('gtk2' 'startup-notification' 'libxres') +makedepends=('libxt' 'intltool' 'gobject-introspection') +url="https://www.gnome.org/" +source=(https://download.gnome.org/sources/${pkgname}/${pkgver:0:4}/${pkgname}-${pkgver}.tar.xz + WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch) +sha512sums=('54262a08882021f08f3ba7f2ddfa33fc1f02e391a0f61cf999a50a089e0d277dfe13ab133c1a46e9abf0599bd24c21dacff80b51013cbb1375d2cd71ac9abbe9' + '1ba6ee8503e71daf103b7285ce0690042ebd86a4b85728a04ff32e6ee5789d2be71ba32149b0c246518bc47a27a233edfa9cfac9eca16cc44b3c6c8d19943423') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch +} +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + #The binaries are shipped in libwnck3 + rm -f "${pkgdir}/usr/bin/wnckprop" + rm -f "${pkgdir}/usr/bin/wnck-urgency-monitor" + rmdir "${pkgdir}/usr/bin" +} Deleted: WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch =================================================================== --- WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch 2019-12-10 08:38:53 UTC (rev 536487) +++ WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch 2019-12-10 08:38:58 UTC (rev 536488) @@ -1,104 +0,0 @@ -From 9e17ab5b4345d90aa5e01a2379ae0ce29c3a3cf3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <m...@3v1n0.net> -Date: Fri, 27 Sep 2013 19:32:51 +0200 -Subject: WindowActionMenu: unset window and stop async events on dispose - -Finalize function can be never called here, so it's better to do this -when the widget gets destroyed. - -diff --git a/libwnck/window-action-menu.c b/libwnck/window-action-menu.c -index e687cff..1e4b27e 100644 ---- a/libwnck/window-action-menu.c -+++ b/libwnck/window-action-menu.c -@@ -104,10 +104,8 @@ enum { - G_DEFINE_TYPE (WnckActionMenu, wnck_action_menu, GTK_TYPE_MENU); - #define WNCK_ACTION_MENU_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), WNCK_TYPE_ACTION_MENU, WnckActionMenuPrivate)) - --static void wnck_action_menu_finalize (GObject *object); -+static void wnck_action_menu_dispose (GObject *object); - --static void object_weak_notify (gpointer data, -- GObject *obj); - static void window_weak_notify (gpointer data, - GObject *window); - -@@ -118,23 +116,10 @@ static void - window_weak_notify (gpointer data, - GObject *window) - { -- g_object_weak_unref (G_OBJECT (data), -- object_weak_notify, -- window); -- -+ WNCK_ACTION_MENU(data)->priv->window = NULL; - gtk_widget_destroy (GTK_WIDGET (data)); - } - -- --static void --object_weak_notify (gpointer data, -- GObject *obj) --{ -- g_object_weak_unref (G_OBJECT (data), -- window_weak_notify, -- obj); --} -- - static WnckActionMenu* - get_action_menu (GtkWidget *widget) - { -@@ -1030,7 +1015,6 @@ wnck_action_menu_constructor (GType type, - } - - g_object_weak_ref (G_OBJECT (priv->window), window_weak_notify, menu); -- g_object_weak_ref (G_OBJECT (menu), object_weak_notify, priv->window); - - priv->minimize_item = make_menu_item (MINIMIZE); - -@@ -1181,7 +1165,7 @@ wnck_action_menu_class_init (WnckActionMenuClass *klass) - object_class->constructor = wnck_action_menu_constructor; - object_class->get_property = wnck_action_menu_get_property; - object_class->set_property = wnck_action_menu_set_property; -- object_class->finalize = wnck_action_menu_finalize; -+ object_class->dispose = wnck_action_menu_dispose; - - g_object_class_install_property (object_class, - PROP_WINDOW, -@@ -1192,17 +1176,30 @@ wnck_action_menu_class_init (WnckActionMenuClass *klass) - } - - static void --wnck_action_menu_finalize (GObject *object) -+wnck_action_menu_dispose (GObject *object) - { - WnckActionMenu *menu; - - menu = WNCK_ACTION_MENU (object); - - if (menu->priv->idle_handler) -- g_source_remove (menu->priv->idle_handler); -- menu->priv->idle_handler = 0; -+ { -+ g_source_remove (menu->priv->idle_handler); -+ menu->priv->idle_handler = 0; -+ } -+ -+ if (WNCK_IS_WINDOW (menu->priv->window)) -+ { -+ g_object_weak_unref (G_OBJECT (menu->priv->window), window_weak_notify, menu); -+ g_signal_handlers_disconnect_by_data (menu->priv->window, menu); -+ -+ WnckScreen *screen = wnck_window_get_screen (menu->priv->window); -+ g_signal_handlers_disconnect_by_data (screen, menu); -+ -+ menu->priv->window = NULL; -+ } - -- G_OBJECT_CLASS (wnck_action_menu_parent_class)->finalize (object); -+ G_OBJECT_CLASS (wnck_action_menu_parent_class)->dispose (object); - } - - /** --- -cgit v0.10.2 - Copied: libwnck/repos/community-x86_64/WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch (from rev 536487, libwnck/trunk/WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch) =================================================================== --- WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch (rev 0) +++ WindowActionMenu-unset-window-and-stop-async-events-on-dispose.patch 2019-12-10 08:38:58 UTC (rev 536488) @@ -0,0 +1,104 @@ +From 9e17ab5b4345d90aa5e01a2379ae0ce29c3a3cf3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <m...@3v1n0.net> +Date: Fri, 27 Sep 2013 19:32:51 +0200 +Subject: WindowActionMenu: unset window and stop async events on dispose + +Finalize function can be never called here, so it's better to do this +when the widget gets destroyed. + +diff --git a/libwnck/window-action-menu.c b/libwnck/window-action-menu.c +index e687cff..1e4b27e 100644 +--- a/libwnck/window-action-menu.c ++++ b/libwnck/window-action-menu.c +@@ -104,10 +104,8 @@ enum { + G_DEFINE_TYPE (WnckActionMenu, wnck_action_menu, GTK_TYPE_MENU); + #define WNCK_ACTION_MENU_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), WNCK_TYPE_ACTION_MENU, WnckActionMenuPrivate)) + +-static void wnck_action_menu_finalize (GObject *object); ++static void wnck_action_menu_dispose (GObject *object); + +-static void object_weak_notify (gpointer data, +- GObject *obj); + static void window_weak_notify (gpointer data, + GObject *window); + +@@ -118,23 +116,10 @@ static void + window_weak_notify (gpointer data, + GObject *window) + { +- g_object_weak_unref (G_OBJECT (data), +- object_weak_notify, +- window); +- ++ WNCK_ACTION_MENU(data)->priv->window = NULL; + gtk_widget_destroy (GTK_WIDGET (data)); + } + +- +-static void +-object_weak_notify (gpointer data, +- GObject *obj) +-{ +- g_object_weak_unref (G_OBJECT (data), +- window_weak_notify, +- obj); +-} +- + static WnckActionMenu* + get_action_menu (GtkWidget *widget) + { +@@ -1030,7 +1015,6 @@ wnck_action_menu_constructor (GType type, + } + + g_object_weak_ref (G_OBJECT (priv->window), window_weak_notify, menu); +- g_object_weak_ref (G_OBJECT (menu), object_weak_notify, priv->window); + + priv->minimize_item = make_menu_item (MINIMIZE); + +@@ -1181,7 +1165,7 @@ wnck_action_menu_class_init (WnckActionMenuClass *klass) + object_class->constructor = wnck_action_menu_constructor; + object_class->get_property = wnck_action_menu_get_property; + object_class->set_property = wnck_action_menu_set_property; +- object_class->finalize = wnck_action_menu_finalize; ++ object_class->dispose = wnck_action_menu_dispose; + + g_object_class_install_property (object_class, + PROP_WINDOW, +@@ -1192,17 +1176,30 @@ wnck_action_menu_class_init (WnckActionMenuClass *klass) + } + + static void +-wnck_action_menu_finalize (GObject *object) ++wnck_action_menu_dispose (GObject *object) + { + WnckActionMenu *menu; + + menu = WNCK_ACTION_MENU (object); + + if (menu->priv->idle_handler) +- g_source_remove (menu->priv->idle_handler); +- menu->priv->idle_handler = 0; ++ { ++ g_source_remove (menu->priv->idle_handler); ++ menu->priv->idle_handler = 0; ++ } ++ ++ if (WNCK_IS_WINDOW (menu->priv->window)) ++ { ++ g_object_weak_unref (G_OBJECT (menu->priv->window), window_weak_notify, menu); ++ g_signal_handlers_disconnect_by_data (menu->priv->window, menu); ++ ++ WnckScreen *screen = wnck_window_get_screen (menu->priv->window); ++ g_signal_handlers_disconnect_by_data (screen, menu); ++ ++ menu->priv->window = NULL; ++ } + +- G_OBJECT_CLASS (wnck_action_menu_parent_class)->finalize (object); ++ G_OBJECT_CLASS (wnck_action_menu_parent_class)->dispose (object); + } + + /** +-- +cgit v0.10.2 +