static void do_finalize (GObject *self) { CajaFileConflictDialogDetails *details = CAJA_FILE_CONFLICT_DIALOG (self)->details; g_free (details->conflict_name); if (details->handle != NULL) { caja_file_list_cancel_call_when_ready (details->handle); } if (details->src_handler_id) { g_signal_handler_disconnect (details->source, details->src_handler_id); caja_file_monitor_remove (details->source, self); } if (details->dest_handler_id) { g_signal_handler_disconnect (details->destination, details->dest_handler_id); caja_file_monitor_remove (details->destination, self); } caja_file_unref (details->source); caja_file_unref (details->destination); caja_file_unref (details->dest_dir); G_OBJECT_CLASS (caja_file_conflict_dialog_parent_class)->finalize (self); }
static void fm_icon_container_stop_monitor_top_left (CajaIconContainer *container, CajaIconData *data, gconstpointer client) { CajaFile *file; file = (CajaFile *) data; g_assert (CAJA_IS_FILE (file)); caja_file_monitor_remove (file, client); }
static void done_with_file (CajaNotesViewer *notes) { cancel_pending_save (notes); if (notes->details->file != NULL) { caja_file_monitor_remove (notes->details->file, notes); g_signal_handlers_disconnect_matched (notes->details->file, G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, 0, 0, NULL, G_CALLBACK (load_note_text_from_metadata), notes); caja_file_unref (notes->details->file); } }
static void free_xdg_dir_cache (void) { int i; if (cached_xdg_dirs != NULL) { for (i = 0; cached_xdg_dirs[i].type != NULL; i++) { if (cached_xdg_dirs[i].file != NULL) { caja_file_monitor_remove (cached_xdg_dirs[i].file, &cached_xdg_dirs[i]); g_signal_handlers_disconnect_by_func (cached_xdg_dirs[i].file, G_CALLBACK (xdg_dir_changed), &cached_xdg_dirs[i]); caja_file_unref (cached_xdg_dirs[i].file); } g_free (cached_xdg_dirs[i].type); g_free (cached_xdg_dirs[i].path); } g_free (cached_xdg_dirs); } }