diff options
author | John Sullivan <sullivan@src.gnome.org> | 2000-10-03 21:02:19 +0000 |
---|---|---|
committer | John Sullivan <sullivan@src.gnome.org> | 2000-10-03 21:02:19 +0000 |
commit | c612c157ee74c904b30bdcc90dd15275ba448fba (patch) | |
tree | 9381311c461d96dfdfb18c0f322581f275339d66 | |
parent | adb5d03cb194aa7cc22ab302c844bbca192669ae (diff) | |
download | nautilus-c612c157ee74c904b30bdcc90dd15275ba448fba.tar.gz |
Fixed bug 3379 (crash leaving web page)
* libnautilus-extensions/nautilus-directory-async.c:
(directory_load_done): When directory load returns an
error, clear unconfirmed bit on all files in that directory
so they won't be marked gone later.
Fixed bug 3421 (web page with blank HTML title causes blank
title in Nautilus)
* components/mozilla/nautilus-mozilla-content-view.c:
(mozilla_title_changed_callback): Don't call nautilus_view_set_title
if the HTML title is NULL or "".
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | components/mozilla/nautilus-mozilla-content-view.c | 6 | ||||
-rw-r--r-- | libnautilus-extensions/nautilus-directory-async.c | 14 | ||||
-rw-r--r-- | libnautilus-private/nautilus-directory-async.c | 14 |
4 files changed, 48 insertions, 2 deletions
@@ -1,3 +1,19 @@ +2000-10-03 John Sullivan <sullivan@eazel.com> + + Fixed bug 3379 (crash leaving web page) + + * libnautilus-extensions/nautilus-directory-async.c: + (directory_load_done): When directory load returns an + error, clear unconfirmed bit on all files in that directory + so they won't be marked gone later. + + Fixed bug 3421 (web page with blank HTML title causes blank + title in Nautilus) + + * components/mozilla/nautilus-mozilla-content-view.c: + (mozilla_title_changed_callback): Don't call nautilus_view_set_title + if the HTML title is NULL or "". + 2000-10-03 Pavel Cisler <pavel@eazel.com> Work on 2036 - drawing glitches in ListView. diff --git a/components/mozilla/nautilus-mozilla-content-view.c b/components/mozilla/nautilus-mozilla-content-view.c index ef88eaf71..d4a1c9b31 100644 --- a/components/mozilla/nautilus-mozilla-content-view.c +++ b/components/mozilla/nautilus-mozilla-content-view.c @@ -617,8 +617,10 @@ mozilla_title_changed_callback (GtkMozEmbed *mozilla, gpointer user_data) new_title = gtk_moz_embed_get_title (GTK_MOZ_EMBED (view->details->mozilla)); - nautilus_view_set_title (view->details->nautilus_view, - new_title); + if (new_title != NULL && strcmp (new_title, "") != 0) { + nautilus_view_set_title (view->details->nautilus_view, + new_title); + } g_free (new_title); } diff --git a/libnautilus-extensions/nautilus-directory-async.c b/libnautilus-extensions/nautilus-directory-async.c index a250c58f9..c7038df5a 100644 --- a/libnautilus-extensions/nautilus-directory-async.c +++ b/libnautilus-extensions/nautilus-directory-async.c @@ -974,10 +974,24 @@ static void directory_load_done (NautilusDirectory *directory, GnomeVFSResult result) { + GList *node; + cancel_directory_load (directory); directory->details->directory_loaded = TRUE; directory->details->directory_loaded_sent_notification = FALSE; + if (result != GNOME_VFS_OK) { + /* The load did not complete successfully. This means + * we don't know the status of the files in this directory. + * We clear the unconfirmed bit on each file here so that + * they won't be marked "gone" later -- we don't know enough + * about them to know whether they are really gone. + */ + for (node = directory->details->files; node != NULL; node = node->next) { + NAUTILUS_FILE (node->data)->details->unconfirmed = FALSE; + } + } + /* Call the idle function right away. */ if (directory->details->dequeue_pending_idle_id != 0) { gtk_idle_remove (directory->details->dequeue_pending_idle_id); diff --git a/libnautilus-private/nautilus-directory-async.c b/libnautilus-private/nautilus-directory-async.c index a250c58f9..c7038df5a 100644 --- a/libnautilus-private/nautilus-directory-async.c +++ b/libnautilus-private/nautilus-directory-async.c @@ -974,10 +974,24 @@ static void directory_load_done (NautilusDirectory *directory, GnomeVFSResult result) { + GList *node; + cancel_directory_load (directory); directory->details->directory_loaded = TRUE; directory->details->directory_loaded_sent_notification = FALSE; + if (result != GNOME_VFS_OK) { + /* The load did not complete successfully. This means + * we don't know the status of the files in this directory. + * We clear the unconfirmed bit on each file here so that + * they won't be marked "gone" later -- we don't know enough + * about them to know whether they are really gone. + */ + for (node = directory->details->files; node != NULL; node = node->next) { + NAUTILUS_FILE (node->data)->details->unconfirmed = FALSE; + } + } + /* Call the idle function right away. */ if (directory->details->dequeue_pending_idle_id != 0) { gtk_idle_remove (directory->details->dequeue_pending_idle_id); |