[gnome-panel] showdesktop: move applet_destroyed code to dispose function
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] showdesktop: move applet_destroyed code to dispose function
- Date: Sun, 2 Oct 2022 15:11:29 +0000 (UTC)
commit fdb1c39387236d581cf5799068b33807e8e8f7ff
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Sun Oct 2 15:43:47 2022 +0300
showdesktop: move applet_destroyed code to dispose function
modules/wncklet/showdesktop.c | 47 +++++++++++++++++--------------------------
1 file changed, 19 insertions(+), 28 deletions(-)
---
diff --git a/modules/wncklet/showdesktop.c b/modules/wncklet/showdesktop.c
index 89452eded..9f511b471 100644
--- a/modules/wncklet/showdesktop.c
+++ b/modules/wncklet/showdesktop.c
@@ -202,30 +202,6 @@ theme_changed_callback (GtkIconTheme *icon_theme,
update_icon (sdd);
}
-static void
-applet_destroyed (GtkWidget *applet,
- ShowDesktopApplet *sdd)
-{
- if (sdd->button_activate != 0) {
- g_source_remove (sdd->button_activate);
- sdd->button_activate = 0;
- }
-
- if (sdd->wnck_screen != NULL) {
- g_signal_handlers_disconnect_by_func (sdd->wnck_screen,
- show_desktop_changed_callback,
- sdd);
- sdd->wnck_screen = NULL;
- }
-
- if (sdd->icon_theme != NULL) {
- g_signal_handlers_disconnect_by_func (sdd->icon_theme,
- theme_changed_callback,
- sdd);
- sdd->icon_theme = NULL;
- }
-}
-
static gboolean
do_not_eat_button_press (GtkWidget *widget,
GdkEventButton *event)
@@ -350,10 +326,6 @@ show_desktop_applet_fill (GpApplet *applet)
G_CALLBACK (panel_icon_size_cb),
sdd);
- g_signal_connect (sdd, "destroy",
- G_CALLBACK (applet_destroyed),
- sdd);
-
gtk_drag_dest_set (GTK_WIDGET(sdd->button), 0, NULL, 0, 0);
g_signal_connect (G_OBJECT(sdd->button), "drag_motion",
@@ -381,6 +353,25 @@ show_desktop_applet_dispose (GObject *object)
sdd = SHOW_DESKTOP_APPLET (object);
+ if (sdd->button_activate != 0) {
+ g_source_remove (sdd->button_activate);
+ sdd->button_activate = 0;
+ }
+
+ if (sdd->wnck_screen != NULL) {
+ g_signal_handlers_disconnect_by_func (sdd->wnck_screen,
+ show_desktop_changed_callback,
+ sdd);
+ sdd->wnck_screen = NULL;
+ }
+
+ if (sdd->icon_theme != NULL) {
+ g_signal_handlers_disconnect_by_func (sdd->icon_theme,
+ theme_changed_callback,
+ sdd);
+ sdd->icon_theme = NULL;
+ }
+
g_clear_object (&sdd->handle);
G_OBJECT_CLASS (show_desktop_applet_parent_class)->dispose (object);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]