summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Camp <dave@novell.com>2004-06-08 17:35:11 +0000
committerDave Camp <campd@src.gnome.org>2004-06-08 17:35:11 +0000
commit47121747729208916cf270097180de2c715a21bc (patch)
tree04529b4a22c49fade04535ff1530549b1479ba88
parent709a63126ac8b7cc37215fc72fe72239c46bb89d (diff)
downloadnautilus-47121747729208916cf270097180de2c715a21bc.tar.gz
Fixed up dispose/destroy/finalize usage in src/file-manager.
2004-06-08 Dave Camp <dave@novell.com> * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_finalize), (fm_desktop_icon_view_class_init): * src/file-manager/fm-directory-view.c: (fm_directory_view_destroy), (fm_directory_view_finalize): * src/file-manager/fm-icon-view.c: (fm_icon_view_destroy), (fm_icon_view_finalize), (fm_icon_view_class_init): * src/file-manager/fm-list-model.c: (fm_list_model_dispose), (fm_list_model_finalize), (fm_list_model_class_init): * src/file-manager/fm-list-view.c: (fm_list_view_dispose), (fm_list_view_finalize): Fixed up dispose/destroy/finalize usage in src/file-manager.
-rw-r--r--ChangeLog15
-rw-r--r--src/file-manager/fm-desktop-icon-view.c15
-rw-r--r--src/file-manager/fm-directory-view.c48
-rw-r--r--src/file-manager/fm-icon-view.c22
-rw-r--r--src/file-manager/fm-list-model.c34
-rw-r--r--src/file-manager/fm-list-view.c10
6 files changed, 109 insertions, 35 deletions
diff --git a/ChangeLog b/ChangeLog
index 1fe6c2e21..df0a60264 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2004-06-08 Dave Camp <dave@novell.com>
+
+ * src/file-manager/fm-desktop-icon-view.c:
+ (fm_desktop_icon_view_destroy), (fm_desktop_icon_view_finalize),
+ (fm_desktop_icon_view_class_init):
+ * src/file-manager/fm-directory-view.c:
+ (fm_directory_view_destroy), (fm_directory_view_finalize):
+ * src/file-manager/fm-icon-view.c: (fm_icon_view_destroy),
+ (fm_icon_view_finalize), (fm_icon_view_class_init):
+ * src/file-manager/fm-list-model.c: (fm_list_model_dispose),
+ (fm_list_model_finalize), (fm_list_model_class_init):
+ * src/file-manager/fm-list-view.c: (fm_list_view_dispose),
+ (fm_list_view_finalize): Fixed up dispose/destroy/finalize
+ usage in src/file-manager.
+
2004-06-07 Anders Carlsson <andersca@gnome.org>
* libnautilus-private/nautilus-file-operations-progress.c:
diff --git a/src/file-manager/fm-desktop-icon-view.c b/src/file-manager/fm-desktop-icon-view.c
index 65b1a7314..4922e6cd3 100644
--- a/src/file-manager/fm-desktop-icon-view.c
+++ b/src/file-manager/fm-desktop-icon-view.c
@@ -227,7 +227,7 @@ desktop_icon_view_property_filter (GdkXEvent *gdk_xevent,
}
static void
-fm_desktop_icon_view_finalize (GObject *object)
+fm_desktop_icon_view_destroy (GtkObject *object)
{
FMDesktopIconView *icon_view;
@@ -236,6 +236,7 @@ fm_desktop_icon_view_finalize (GObject *object)
/* Remove desktop rescan timeout. */
if (icon_view->details->reload_desktop_timeout != 0) {
g_source_remove (icon_view->details->reload_desktop_timeout);
+ icon_view->details->reload_desktop_timeout = 0;
}
eel_preferences_remove_callback (NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_ZOOM_LEVEL,
@@ -248,6 +249,16 @@ fm_desktop_icon_view_finalize (GObject *object)
bonobo_object_unref (icon_view->details->ui);
icon_view->details->ui = NULL;
}
+
+ GTK_OBJECT_CLASS (parent_class)->destroy (object);
+}
+
+static void
+fm_desktop_icon_view_finalize (GObject *object)
+{
+ FMDesktopIconView *icon_view;
+
+ icon_view = FM_DESKTOP_ICON_VIEW (object);
g_free (icon_view->details);
@@ -259,6 +270,8 @@ fm_desktop_icon_view_class_init (FMDesktopIconViewClass *class)
{
G_OBJECT_CLASS (class)->finalize = fm_desktop_icon_view_finalize;
+ GTK_OBJECT_CLASS (class)->destroy = fm_desktop_icon_view_destroy;
+
FM_DIRECTORY_VIEW_CLASS (class)->merge_menus = real_merge_menus;
FM_DIRECTORY_VIEW_CLASS (class)->update_menus = real_update_menus;
FM_DIRECTORY_VIEW_CLASS (class)->supports_zooming = real_supports_zooming;
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index 392122dc9..dfa45ba63 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -1604,6 +1604,7 @@ static void
fm_directory_view_destroy (GtkObject *object)
{
FMDirectoryView *view;
+ GList *node, *next;
view = FM_DIRECTORY_VIEW (object);
@@ -1622,17 +1623,6 @@ fm_directory_view_destroy (GtkObject *object)
fm_directory_view_stop (view);
fm_directory_view_clear (view);
- EEL_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object));
-}
-
-static void
-fm_directory_view_finalize (GObject *object)
-{
- FMDirectoryView *view;
- GList *node, *next;
-
- view = FM_DIRECTORY_VIEW (object);
-
for (node = view->details->scripts_directory_list; node != NULL; node = next) {
next = node->next;
remove_directory_from_scripts_directory_list (view, node->data);
@@ -1643,20 +1633,14 @@ fm_directory_view_finalize (GObject *object)
remove_directory_from_templates_directory_list (view, node->data);
}
-
- nautilus_directory_unref (view->details->model);
- view->details->model = NULL;
- nautilus_file_unref (view->details->directory_as_file);
+ remove_update_menus_timeout_callback (view);
+ remove_update_status_idle_callback (view);
if (view->details->display_selection_idle_id != 0) {
g_source_remove (view->details->display_selection_idle_id);
+ view->details->display_selection_idle_id = 0;
}
- remove_update_menus_timeout_callback (view);
- remove_update_status_idle_callback (view);
-
- fm_directory_view_ignore_hidden_file_preferences (view);
-
eel_preferences_remove_callback (NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES,
filtering_changed_callback, view);
eel_preferences_remove_callback (NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES,
@@ -1674,10 +1658,32 @@ fm_directory_view_finalize (GObject *object)
eel_preferences_remove_callback (NAUTILUS_PREFERENCES_SORT_DIRECTORIES_FIRST,
sort_directories_first_changed_callback, view);
- g_hash_table_destroy (view->details->non_ready_files);
+ if (view->details->model) {
+ nautilus_directory_unref (view->details->model);
+ view->details->model = NULL;
+ }
+
+ if (view->details->directory_as_file) {
+ nautilus_file_unref (view->details->directory_as_file);
+ view->details->directory_as_file = NULL;
+ }
+
+ fm_directory_view_ignore_hidden_file_preferences (view);
eel_remove_weak_pointer (&view->details->ui);
+ EEL_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object));
+}
+
+static void
+fm_directory_view_finalize (GObject *object)
+{
+ FMDirectoryView *view;
+
+ view = FM_DIRECTORY_VIEW (object);
+
+ g_hash_table_destroy (view->details->non_ready_files);
+
g_free (view->details);
EEL_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c
index ab79d165d..995d50fa0 100644
--- a/src/file-manager/fm-icon-view.c
+++ b/src/file-manager/fm-icon-view.c
@@ -219,7 +219,7 @@ GNOME_CLASS_BOILERPLATE (FMIconView, fm_icon_view,
FMDirectoryView, FM_TYPE_DIRECTORY_VIEW)
static void
-fm_icon_view_finalize (GObject *object)
+fm_icon_view_destroy (GtkObject *object)
{
FMIconView *icon_view;
@@ -231,16 +231,32 @@ fm_icon_view_finalize (GObject *object)
if (icon_view->details->ui != NULL) {
bonobo_ui_component_unset_container (icon_view->details->ui, NULL);
bonobo_object_unref (icon_view->details->ui);
+ icon_view->details->ui = NULL;
}
if (icon_view->details->react_to_icon_change_idle_id != 0) {
g_source_remove (icon_view->details->react_to_icon_change_idle_id);
+ icon_view->details->react_to_icon_change_idle_id = 0;
}
/* kill any sound preview process that is ongoing */
preview_audio (icon_view, NULL, FALSE);
- nautilus_file_list_free (icon_view->details->icons_not_positioned);
+ if (icon_view->details->icons_not_positioned) {
+ nautilus_file_list_free (icon_view->details->icons_not_positioned);
+ icon_view->details->icons_not_positioned = NULL;
+ }
+
+ EEL_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object));
+}
+
+
+static void
+fm_icon_view_finalize (GObject *object)
+{
+ FMIconView *icon_view;
+
+ icon_view = FM_ICON_VIEW (object);
g_free (icon_view->details);
@@ -2789,6 +2805,8 @@ fm_icon_view_class_init (FMIconViewClass *klass)
fm_directory_view_class = FM_DIRECTORY_VIEW_CLASS (klass);
G_OBJECT_CLASS (klass)->finalize = fm_icon_view_finalize;
+
+ GTK_OBJECT_CLASS (klass)->destroy = fm_icon_view_destroy;
GTK_WIDGET_CLASS (klass)->screen_changed = fm_icon_view_screen_changed;
diff --git a/src/file-manager/fm-list-model.c b/src/file-manager/fm-list-model.c
index cbca7598e..44b6cb481 100644
--- a/src/file-manager/fm-list-model.c
+++ b/src/file-manager/fm-list-model.c
@@ -966,20 +966,41 @@ fm_list_model_get_column_number (FMListModel *model,
}
static void
-fm_list_model_finalize (GObject *object)
+fm_list_model_dispose (GObject *object)
{
FMListModel *model;
int i;
model = FM_LIST_MODEL (object);
- for (i = 0; i < model->details->columns->len; i++) {
- g_object_unref (model->details->columns->pdata[i]);
+ if (model->details->columns) {
+ for (i = 0; i < model->details->columns->len; i++) {
+ g_object_unref (model->details->columns->pdata[i]);
+ }
+ g_ptr_array_free (model->details->columns, TRUE);
+ model->details->columns = NULL;
+ }
+
+ if (model->details->files) {
+ g_sequence_free (model->details->files);
+ model->details->files = NULL;
+ }
+
+ if (model->details->reverse_map) {
+ g_hash_table_destroy (model->details->reverse_map);
+ model->details->reverse_map = NULL;
}
- g_ptr_array_free (model->details->columns, TRUE);
+
+ EEL_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
+}
+
+static void
+fm_list_model_finalize (GObject *object)
+{
+ FMListModel *model;
+
+ model = FM_LIST_MODEL (object);
- g_sequence_free (model->details->files);
- g_hash_table_destroy (model->details->reverse_map);
g_free (model->details->sort_attribute);
g_free (model->details);
@@ -1006,6 +1027,7 @@ fm_list_model_class_init (FMListModelClass *klass)
parent_class = g_type_class_peek_parent (klass);
object_class->finalize = fm_list_model_finalize;
+ object_class->dispose = fm_list_model_dispose;
}
static void
diff --git a/src/file-manager/fm-list-view.c b/src/file-manager/fm-list-view.c
index fb8930958..bc785e4b0 100644
--- a/src/file-manager/fm-list-view.c
+++ b/src/file-manager/fm-list-view.c
@@ -1938,6 +1938,11 @@ fm_list_view_dispose (GObject *object)
g_object_unref (list_view->details->drag_dest);
list_view->details->drag_dest = NULL;
}
+
+ if (list_view->details->ui != NULL) {
+ bonobo_ui_component_unset_container (list_view->details->ui, NULL);
+ bonobo_object_unref (list_view->details->ui);
+ }
G_OBJECT_CLASS (parent_class)->dispose (object);
}
@@ -1954,11 +1959,6 @@ fm_list_view_finalize (GObject *object)
}
if (list_view->details->double_click_path[1]) {
gtk_tree_path_free (list_view->details->double_click_path[1]);
- }
-
- if (list_view->details->ui != NULL) {
- bonobo_ui_component_unset_container (list_view->details->ui, NULL);
- bonobo_object_unref (list_view->details->ui);
}
gtk_target_list_unref (list_view->details->source_target_list);