summaryrefslogtreecommitdiff
path: root/src/file-manager
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2000-09-26 00:52:22 +0000
committerDarin Adler <darin@src.gnome.org>2000-09-26 00:52:22 +0000
commit2cd5440e93ea831f3ee4930e3e7baecdd5083e5a (patch)
tree164fc9cf41051e4a5a7a36847a06841a4cf0e901 /src/file-manager
parent38a590615d4d5a5d7ff1c1770d26bce2268db021 (diff)
downloadnautilus-2cd5440e93ea831f3ee4930e3e7baecdd5083e5a.tar.gz
Fixed bug bug 3264 (Tree view shows no branches for directories,
...HACK... nodes visible), bug 3290 (changing directory or refreshing causes Gdk to assert), bug 2420 (Need to free original key when removing model node), and other assorted problems. * components/tree/nautilus-tree-view.c: (insert_hack_node), (remove_hack_node), (nautilus_tree_view_insert_model_node): Fix problem where the hash table key was neither g_strdup'd on the way in, nor g_free'd on the way out. This caused all the problems with bad nesting in the tree view. * nautilus-installer/src/installer.c: (create_pixmap): * src/file-manager/fm-list-view.c: (install_row_images): * src/nautilus-theme-selector.c: (add_theme): Added more checks for NULL before calling gdk_bitmap_unref. * src/file-manager/fm-directory-view.c: (no_items_showing): Fixed a NautilusDirectory ref. count leak. * libnautilus-extensions/nautilus-font-factory.c: (unref_global_font_factory), (nautilus_get_current_font_factory): Unref the font factory on exit. (nautilus_font_factory_initialize_class), (font_hash_node_free), (free_one_hash_node), (destroy): Added code to actually destroy the font factory. (unref_fixed_font), (nautilus_font_factory_get_fallback_font): Unref the fixed font on exit. * libnautilus-extensions/nautilus-volume-monitor.c: (unref_global_volume_monitor), (nautilus_volume_monitor_get): Unref the volume monitor on exit. * src/nautilus-signaller.c: (unref_global_signaller), (nautilus_signaller_get_current): Unref the signaller on exit. * src/nautilus-component-adapter-factory.c: (nautilus_component_adapter_factory_initialize): Replaced some strange FIXMEs with a simpler one. (nautilus_component_adapter_factory_destroy): Fix a CORBA object reference leak. (nautilus_component_adapter_factory_get): Did a ref/sink. * components/adapter/nautilus-adapter-control-embed-strategy.c: (nautilus_adapter_control_embed_strategy_new): * components/adapter/nautilus-adapter-embeddable-embed-strategy.c: (nautilus_adapter_embeddable_embed_strategy_new): * components/adapter/nautilus-adapter-file-load-strategy.c: (nautilus_adapter_file_load_strategy_new): * components/adapter/nautilus-adapter-progressive-load-strategy.c: (nautilus_adapter_progressive_load_strategy_new): * components/adapter/nautilus-adapter-stream-load-strategy.c: (nautilus_adapter_stream_load_strategy_new): * components/adapter/nautilus-adapter.c: (nautilus_adapter_new): * components/rpmview/nautilus-rpm-verify-window.c: (nautilus_rpm_verify_window_new): * components/services/install/lib/eazel-install-object.c: (eazel_install_new), (eazel_install_new_with_config): * components/services/time/service/trilobite-eazel-time-service.c: (trilobite_eazel_time_service_new): * components/services/trilobite/libtrilobite/trilobite-service-pass wordquery.c: (trilobite_passwordquery_new): * components/services/trilobite/libtrilobite/trilobite-service.c: (trilobite_service_new): * components/tree/nautilus-tree-expansion-state.c: (nautilus_tree_expansion_state_new): * components/tree/nautilus-tree-model.c: (nautilus_tree_model_new): * components/tree/nautilus-tree-node.c: (nautilus_tree_node_new): * cut-n-paste-code/widgets/e-paned/e-hpaned.c: (e_hpaned_new): * cut-n-paste-code/widgets/e-paned/e-vpaned.c: (e_vpaned_new): * libnautilus-extensions/bonobo-stream-vfs.c: (bonobo_stream_create): * libnautilus-extensions/nautilus-any-width-bin.c: (nautilus_any_width_bin_new): * libnautilus-extensions/nautilus-background.c: (nautilus_background_new): * libnautilus-extensions/nautilus-bookmark.c: (nautilus_bookmark_new_with_icon): * libnautilus-extensions/nautilus-caption-table.c: (nautilus_caption_table_new): * libnautilus-extensions/nautilus-caption.c: (nautilus_caption_new): * libnautilus-extensions/nautilus-directory.c: (nautilus_directory_new): * libnautilus-extensions/nautilus-druid-page-eazel.c: (nautilus_druid_page_eazel_new), (nautilus_druid_page_eazel_new_with_vals): * libnautilus-extensions/nautilus-druid.c: (nautilus_druid_new): * libnautilus-extensions/nautilus-entry.c: (nautilus_entry_new): * libnautilus-extensions/nautilus-file-operations-progress.c: (nautilus_file_operations_progress_new): * libnautilus-extensions/nautilus-file.c: (nautilus_file_new_from_name), (nautilus_file_new_from_info): * libnautilus-extensions/nautilus-font-picker.c: (nautilus_font_picker_new): * libnautilus-extensions/nautilus-horizontal-splitter.c: (nautilus_horizontal_splitter_new): * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_new): * libnautilus-extensions/nautilus-icon-factory.c: (get_icon_factory): * libnautilus-extensions/nautilus-image.c: (nautilus_image_new): * libnautilus-extensions/nautilus-keep-last-vertical-box.c: (nautilus_keep_last_vertical_box_new): * libnautilus-extensions/nautilus-label.c: (nautilus_label_new): * libnautilus-extensions/nautilus-list-column-title.c: (nautilus_list_column_title_new): * libnautilus-extensions/nautilus-list.c: (nautilus_list_new_with_titles): * libnautilus-extensions/nautilus-password-dialog.c: (nautilus_password_dialog_new): * libnautilus-extensions/nautilus-preference.c: (nautilus_preference_new_from_type): * libnautilus-extensions/nautilus-preferences-box.c: (nautilus_preferences_box_new): * libnautilus-extensions/nautilus-preferences-dialog.c: (nautilus_preferences_dialog_new): * libnautilus-extensions/nautilus-preferences-group.c: (nautilus_preferences_group_new): * libnautilus-extensions/nautilus-preferences-item.c: (nautilus_preferences_item_new): * libnautilus-extensions/nautilus-preferences-pane.c: (nautilus_preferences_pane_new): * libnautilus-extensions/nautilus-radio-button-group.c: (nautilus_radio_button_group_new): * libnautilus-extensions/nautilus-scalable-font.c: (nautilus_scalable_font_new): * libnautilus-extensions/nautilus-string-picker.c: (nautilus_string_picker_new): * libnautilus-extensions/nautilus-text-caption.c: (nautilus_text_caption_new): * libnautilus-extensions/nautilus-undo-context.c: (nautilus_undo_context_new): * libnautilus-extensions/nautilus-undo-manager.c: (nautilus_undo_manager_new): * libnautilus-extensions/nautilus-user-level-manager.c: (user_level_manager_new): * libnautilus/nautilus-undo-transaction.c: (nautilus_undo_transaction_new): * libnautilus/nautilus-view.c: (nautilus_view_new_from_bonobo_control): * src/file-manager/nautilus-trash-monitor.c: (nautilus_trash_monitor_get): * src/nautilus-desktop-window.c: (nautilus_desktop_window_new): * src/nautilus-property-browser.c: (nautilus_property_browser_new): * src/nautilus-shell.c: (nautilus_shell_new): * src/nautilus-sidebar-tabs.c: (nautilus_sidebar_tabs_new): * src/nautilus-sidebar-title.c: (nautilus_sidebar_title_new): * src/nautilus-sidebar.c: (nautilus_sidebar_create_context_menu), (nautilus_sidebar_new): * src/nautilus-theme-selector.c: (nautilus_theme_selector_new): * src/nautilus-throbber.c: (nautilus_throbber_new): * src/nautilus-view-frame.c: (nautilus_view_frame_new): * src/nautilus-zoom-control.c: (nautilus_zoom_control_new): * src/nautilus-about.c: (nautilus_about_new): * src/nautilus-application.c: (nautilus_application_new), (nautilus_application_create_window): * src/nautilus-bookmark-list.c: (nautilus_bookmark_list_new): After Tim Janik explained that gtk_type_new is a low-level call to be avoided, changed most uses of gtk_type_new to gtk_object_new or gtk_widget_new. Also, after Owen and Havoc explained that you can't just ignore the floating bit, added ref/sink calls to the functions used to create objects where we don't use the floating scheme. * src/nautilus-zoom-control.c: (nautilus_zoom_control_button_press_event): Take advantage of the fact that the new menu is floating and don't bother with ref'ing. * libnautilus-extensions/nautilus-ctree.c: (nautilus_ctree_new_with_titles): Added a cast. * components/adapter/main.c: (adapter_factory_make_object): * components/hardware/main.c: (hardware_view_make_object): * components/services/install/lib/eazel-install-corba-callback.c: (eazel_install_callback_get_type), (eazel_install_callback_new): * libnautilus-extensions/nautilus-theme.c: (nautilus_theme_get_theme), (nautilus_theme_set_theme), (nautilus_theme_get_theme_data): Whitespace tweaks.
Diffstat (limited to 'src/file-manager')
-rw-r--r--src/file-manager/fm-directory-view.c1
-rw-r--r--src/file-manager/fm-list-view.c4
-rw-r--r--src/file-manager/nautilus-trash-monitor.c5
3 files changed, 8 insertions, 2 deletions
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index 5917300d8..082f5eb69 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -2488,6 +2488,7 @@ no_items_showing (FMDirectoryView *directory_view)
/* This can happen when it's too early to tell. */
if (!nautilus_file_is_directory (directory_as_file)) {
+ nautilus_file_unref (directory_as_file);
return FALSE;
}
diff --git a/src/file-manager/fm-list-view.c b/src/file-manager/fm-list-view.c
index 937d37c82..bf8db4d7b 100644
--- a/src/file-manager/fm-list-view.c
+++ b/src/file-manager/fm-list-view.c
@@ -1539,7 +1539,9 @@ install_row_images (FMListView *list_view, guint row)
&pixmap, &bitmap);
gtk_clist_set_pixmap (clist, row, LIST_VIEW_COLUMN_ICON, pixmap, bitmap);
gdk_pixmap_unref (pixmap);
- gdk_bitmap_unref (bitmap);
+ if (bitmap != NULL) {
+ gdk_bitmap_unref (bitmap);
+ }
/* Install any emblems for this file. */
nautilus_list_set_pixbuf_list (list, row, LIST_VIEW_COLUMN_EMBLEMS,
diff --git a/src/file-manager/nautilus-trash-monitor.c b/src/file-manager/nautilus-trash-monitor.c
index 940f51680..190240fef 100644
--- a/src/file-manager/nautilus-trash-monitor.c
+++ b/src/file-manager/nautilus-trash-monitor.c
@@ -158,7 +158,10 @@ nautilus_trash_monitor_get (void)
{
if (nautilus_trash_monitor == NULL) {
/* not running yet, start it up */
- nautilus_trash_monitor = gtk_type_new (NAUTILUS_TYPE_TRASH_MONITOR);
+ nautilus_trash_monitor = NAUTILUS_TRASH_MONITOR
+ (gtk_object_new (NAUTILUS_TYPE_TRASH_MONITOR, NULL));
+ gtk_object_ref (GTK_OBJECT (nautilus_trash_monitor));
+ gtk_object_sink (GTK_OBJECT (nautilus_trash_monitor));
g_atexit (unref_trash_monitor);
}