summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael@ximian.com>2002-05-17 14:11:25 +0000
committerMichael Meeks <michael@src.gnome.org>2002-05-17 14:11:25 +0000
commita8708eb85fdf78d0240630a320104872c7db66f3 (patch)
tree6069cbb344f2fc4649257af0ef231ac5a28910a7
parent1046a3339ce7a05338c49ed6fb28e41dd2126fc4 (diff)
downloadnautilus-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--ChangeLog31
-rw-r--r--configure.in2
-rw-r--r--libnautilus-private/nautilus-bookmark.c19
-rw-r--r--libnautilus-private/nautilus-bookmark.h4
-rw-r--r--libnautilus-private/nautilus-directory-background.c3
-rw-r--r--src/file-manager/fm-directory-view.c11
-rw-r--r--src/file-manager/fm-icon-view.c14
-rw-r--r--src/file-manager/fm-list-model.c2
-rw-r--r--src/file-manager/fm-list-view.c22
9 files changed, 73 insertions, 35 deletions
diff --git a/ChangeLog b/ChangeLog
index fc59fbb39..951644230 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;