diff options
author | Michael Meeks <michael@ximian.com> | 2002-05-17 14:11:25 +0000 |
---|---|---|
committer | Michael Meeks <michael@src.gnome.org> | 2002-05-17 14:11:25 +0000 |
commit | a8708eb85fdf78d0240630a320104872c7db66f3 (patch) | |
tree | 6069cbb344f2fc4649257af0ef231ac5a28910a7 | |
parent | 1046a3339ce7a05338c49ed6fb28e41dd2126fc4 (diff) | |
download | nautilus-a8708eb85fdf78d0240630a320104872c7db66f3.tar.gz |
require libbonoboui >= 1.116.1 [ CVS ]
2002-05-17 Michael Meeks <michael@ximian.com>
* configure.in: require libbonoboui >= 1.116.1 [ CVS ]
* src/file-manager/fm-list-model.c
(fm_list_model_clear): add pre-condition.
* src/file-manager/fm-list-view.c
(create_and_set_up_tree_view): hold a ref on the model.
(fm_list_view_dispose): impl.
(fm_list_view_class_init): upd.
(fm_list_view_clear): only clear a non NULL model.
* src/file-manager/fm-icon-view.c
(get_icon_container): return NULL if we've no container.
(fm_icon_view_clear): tolerate a NIL icon_container
( on a 2nd dispose perhaps )
* libnautilus-private/nautilus-directory-background.c
(nautilus_file_background_read_desktop_settings): check
the wallpaper_filename is not empty.
* src/file-manager/fm-directory-view.c
(fm_directory_view_destroy): hoist pointer
NULLification up the method.
2002-05-16 Michael Meeks <michael@ximian.com>
* libnautilus-private/nautilus-bookmark.c
(nautilus_bookmark_get_pixmap_and_mask): kill, unused.
-rw-r--r-- | ChangeLog | 31 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | libnautilus-private/nautilus-bookmark.c | 19 | ||||
-rw-r--r-- | libnautilus-private/nautilus-bookmark.h | 4 | ||||
-rw-r--r-- | libnautilus-private/nautilus-directory-background.c | 3 | ||||
-rw-r--r-- | src/file-manager/fm-directory-view.c | 11 | ||||
-rw-r--r-- | src/file-manager/fm-icon-view.c | 14 | ||||
-rw-r--r-- | src/file-manager/fm-list-model.c | 2 | ||||
-rw-r--r-- | src/file-manager/fm-list-view.c | 22 |
9 files changed, 73 insertions, 35 deletions
@@ -1,3 +1,34 @@ +2002-05-17 Michael Meeks <michael@ximian.com> + + * configure.in: require libbonoboui >= 1.116.1 [ CVS ] + + * src/file-manager/fm-list-model.c + (fm_list_model_clear): add pre-condition. + + * src/file-manager/fm-list-view.c + (create_and_set_up_tree_view): hold a ref on the model. + (fm_list_view_dispose): impl. + (fm_list_view_class_init): upd. + (fm_list_view_clear): only clear a non NULL model. + + * src/file-manager/fm-icon-view.c + (get_icon_container): return NULL if we've no container. + (fm_icon_view_clear): tolerate a NIL icon_container + ( on a 2nd dispose perhaps ) + + * libnautilus-private/nautilus-directory-background.c + (nautilus_file_background_read_desktop_settings): check + the wallpaper_filename is not empty. + + * src/file-manager/fm-directory-view.c + (fm_directory_view_destroy): hoist pointer + NULLification up the method. + +2002-05-16 Michael Meeks <michael@ximian.com> + + * libnautilus-private/nautilus-bookmark.c + (nautilus_bookmark_get_pixmap_and_mask): kill, unused. + 2002-05-17 Anders Carlsson <andersca@gnu.org> * src/file-manager/fm-directory-view.c: Remove some diff --git a/configure.in b/configure.in index 4f57c4a81..6bbadd414 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ dnl =========================================================================== ART_REQUIRED=2.3.6 BONOBO_ACTIVATION_REQUIRED=0.9.3 BONOBO_REQUIRED=1.113 -BONOBO_UI_REQUIRED=1.110.2 +BONOBO_UI_REQUIRED=1.116.1 EEL_REQUIRED=1.1.14 ESOUND_REQUIRED=0.2.23 GLIB_REQUIRED=2 diff --git a/libnautilus-private/nautilus-bookmark.c b/libnautilus-private/nautilus-bookmark.c index c218c4841..b07976966 100644 --- a/libnautilus-private/nautilus-bookmark.c +++ b/libnautilus-private/nautilus-bookmark.c @@ -199,25 +199,6 @@ nautilus_bookmark_get_name (NautilusBookmark *bookmark) return g_strdup (bookmark->details->name); } -gboolean -nautilus_bookmark_get_pixmap_and_mask (NautilusBookmark *bookmark, - guint icon_size, - GdkPixmap **pixmap_return, - GdkBitmap **mask_return) -{ - GdkPixbuf *pixbuf; - - pixbuf = nautilus_bookmark_get_pixbuf (bookmark, icon_size, FALSE); - if (pixbuf == NULL) { - return FALSE; - } - - gdk_pixbuf_render_pixmap_and_mask (pixbuf, pixmap_return, mask_return, EEL_STANDARD_ALPHA_THRESHHOLD); - g_object_unref (pixbuf); - - return TRUE; -} - GdkPixbuf * nautilus_bookmark_get_pixbuf (NautilusBookmark *bookmark, guint icon_size, diff --git a/libnautilus-private/nautilus-bookmark.h b/libnautilus-private/nautilus-bookmark.h index 76f85d204..01dc0af18 100644 --- a/libnautilus-private/nautilus-bookmark.h +++ b/libnautilus-private/nautilus-bookmark.h @@ -85,10 +85,6 @@ int nautilus_bookmark_compare_uris (gconstpointer gconstpointer b); /* Helper functions for displaying bookmarks */ -gboolean nautilus_bookmark_get_pixmap_and_mask (NautilusBookmark *bookmark, - guint icon_size, - GdkPixmap **pixmap_return, - GdkBitmap **mask_return); GdkPixbuf * nautilus_bookmark_get_pixbuf (NautilusBookmark *bookmark, guint icon_size, gboolean optimize_for_anti_aliasing); diff --git a/libnautilus-private/nautilus-directory-background.c b/libnautilus-private/nautilus-directory-background.c index bedda64c2..bee3dfe97 100644 --- a/libnautilus-private/nautilus-directory-background.c +++ b/libnautilus-private/nautilus-directory-background.c @@ -236,7 +236,8 @@ nautilus_file_background_read_desktop_settings (char **color, (theme_name, desktop_theme_source, &default_color, &default_image_uri, &default_placement); if (prefs->wallpaper_enabled) { - if (prefs->wallpaper_filename != NULL) { + if (prefs->wallpaper_filename != NULL && + prefs->wallpaper_filename [0] != '\0') { *image = gnome_vfs_get_uri_from_local_path (prefs->wallpaper_filename); } else { *image = g_strdup (default_image_uri); diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c index 97ba12c71..7a3327028 100644 --- a/src/file-manager/fm-directory-view.c +++ b/src/file-manager/fm-directory-view.c @@ -1285,11 +1285,6 @@ fm_directory_view_destroy (GtkObject *object) FMDirectoryView *view; view = FM_DIRECTORY_VIEW (object); - - monitor_file_for_open_with (view, NULL); - - fm_directory_view_stop (view); - fm_directory_view_clear (view); /* Since we are owned by the NautilusView, if we're going it's * gone. It would be even better to NULL this out when the @@ -1298,6 +1293,11 @@ fm_directory_view_destroy (GtkObject *object) */ view->details->zoomable = NULL; view->details->nautilus_view = NULL; + + monitor_file_for_open_with (view, NULL); + + fm_directory_view_stop (view); + fm_directory_view_clear (view); EEL_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object)); } @@ -1674,6 +1674,7 @@ done_loading (FMDirectoryView *view) selection = file_list_from_uri_list (uris_selected); eel_g_list_free_deep (uris_selected); + view->details->selection_change_is_due_to_shell = TRUE; fm_directory_view_set_selection (view, selection); view->details->selection_change_is_due_to_shell = FALSE; diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c index 326f0a9a0..eff439ae3 100644 --- a/src/file-manager/fm-icon-view.c +++ b/src/file-manager/fm-icon-view.c @@ -238,10 +238,18 @@ fm_icon_view_finalize (GObject *object) static NautilusIconContainer * get_icon_container (FMIconView *icon_view) { + GtkBin *bin; + g_return_val_if_fail (FM_IS_ICON_VIEW (icon_view), NULL); - g_return_val_if_fail (NAUTILUS_IS_ICON_CONTAINER (GTK_BIN (icon_view)->child), NULL); - return NAUTILUS_ICON_CONTAINER (GTK_BIN (icon_view)->child); + bin = GTK_BIN (icon_view); + if (bin->child) { + g_return_val_if_fail (NAUTILUS_IS_ICON_CONTAINER (GTK_BIN (icon_view)->child), NULL); + + return NAUTILUS_ICON_CONTAINER (GTK_BIN (icon_view)->child); + } else { + return NULL; + } } static gboolean @@ -447,6 +455,8 @@ fm_icon_view_clear (FMDirectoryView *view) g_return_if_fail (FM_IS_ICON_VIEW (view)); icon_container = get_icon_container (FM_ICON_VIEW (view)); + if (!icon_container) + return; /* Clear away the existing icons. */ nautilus_icon_container_for_each (icon_container, unref_cover, NULL); diff --git a/src/file-manager/fm-list-model.c b/src/file-manager/fm-list-model.c index 54911bfd2..c3fa31776 100644 --- a/src/file-manager/fm-list-model.c +++ b/src/file-manager/fm-list-model.c @@ -671,6 +671,8 @@ fm_list_model_clear (FMListModel *model) { GtkTreeIter iter; + g_return_if_fail (model != NULL); + while (model->details->files != NULL) { iter.stamp = model->details->stamp; iter.user_data = model->details->files; diff --git a/src/file-manager/fm-list-view.c b/src/file-manager/fm-list-view.c index ed66f866f..3b9e4f8e3 100644 --- a/src/file-manager/fm-list-view.c +++ b/src/file-manager/fm-list-view.c @@ -291,8 +291,6 @@ create_and_set_up_tree_view (FMListView *view) g_signal_connect_object (view->details->model, "sort_column_changed", G_CALLBACK (sort_column_changed_callback), view, 0); - g_object_unref (view->details->model); - gtk_tree_selection_set_mode (gtk_tree_view_get_selection (view->details->tree_view), GTK_SELECTION_MULTIPLE); gtk_tree_view_set_rules_hint (view->details->tree_view, TRUE); @@ -432,7 +430,9 @@ fm_list_view_clear (FMDirectoryView *view) list_view = FM_LIST_VIEW (view); - fm_list_model_clear (list_view->details->model); + if (list_view->details->model != NULL) { + fm_list_model_clear (list_view->details->model); + } } static void @@ -727,6 +727,21 @@ fm_list_view_sort_directories_first_changed (FMDirectoryView *view) } static void +fm_list_view_dispose (GObject *object) +{ + FMListView *list_view; + + list_view = FM_LIST_VIEW (object); + + if (list_view->details->model) { + g_object_unref (list_view->details->model); + list_view->details->model = NULL; + } + + G_OBJECT_CLASS (parent_class)->dispose (object); +} + +static void fm_list_view_finalize (GObject *object) { FMListView *list_view; @@ -757,6 +772,7 @@ fm_list_view_class_init (FMListViewClass *class) fm_directory_view_class = FM_DIRECTORY_VIEW_CLASS (class); + G_OBJECT_CLASS (class)->dispose = fm_list_view_dispose; G_OBJECT_CLASS (class)->finalize = fm_list_view_finalize; fm_directory_view_class->add_file = fm_list_view_add_file; |