static void athena_desktop_background_transitioned (GnomeBG *bg, gpointer user_data) { AthenaDesktopBackground *self; self = user_data; free_fade (self); queue_background_change (self); }
static void on_widget_destroyed (GtkWidget *widget, gpointer user_data) { AthenaDesktopBackground *self = user_data; if (self->details->change_idle_id != 0) { g_source_remove (self->details->change_idle_id); self->details->change_idle_id = 0; } free_fade (self); self->details->widget = NULL; }
static void eel_background_finalize (GObject *object) { EelBackground *self = EEL_BACKGROUND (object); g_free (self->details->color); if (self->details->bg != NULL) { g_object_unref (G_OBJECT (self->details->bg)); self->details->bg = NULL; } free_background_surface (self); free_fade (self); G_OBJECT_CLASS (eel_background_parent_class)->finalize (object); }
static void athena_desktop_background_finalize (GObject *object) { AthenaDesktopBackground *self; self = ATHENA_DESKTOP_BACKGROUND (object); g_signal_handlers_disconnect_by_func (gnome_background_preferences, background_settings_change_event_cb, self); free_background_surface (self); free_fade (self); g_clear_object (&self->details->bg); G_OBJECT_CLASS (athena_desktop_background_parent_class)->finalize (object); }