diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | lib/ephy-file-helpers.c | 24 | ||||
-rw-r--r-- | src/popup-commands.c | 22 |
3 files changed, 30 insertions, 25 deletions
@@ -1,4 +1,11 @@ -2007-04-24 Diego Escalante Urrelo <diegoe@gnome.org> +2007-04-24 Diego Escalante Urrelo <diegoe@gnome.org> + + * src/popup-commands.c: + * lib/ephy-file-helpers.c: + Avoid opening nautilus if downloads are done to Desktop. This re-fixes + bug #383698. + +2007-04-24 Diego Escalante Urrelo <diegoe@gnome.org> * embed/ephy-embed-dialog.c: Fix some strict-aliasing warnings. diff --git a/lib/ephy-file-helpers.c b/lib/ephy-file-helpers.c index 225a1af93..e34783d1f 100644 --- a/lib/ephy-file-helpers.c +++ b/lib/ephy-file-helpers.c @@ -1169,19 +1169,33 @@ gboolean ephy_file_browse_to (const char *parameter, guint32 user_time) { - GnomeVFSURI *uri, *parent_uri; + GnomeVFSURI *uri, *parent_uri, *desktop; + char *desktop_dir; gboolean ret; uri = gnome_vfs_uri_new (parameter); parent_uri = gnome_vfs_uri_get_parent (uri); - /* TODO find a way to make nautilus scroll to the actual file */ - ret = ephy_file_launch_handler ("x-directory/normal", - gnome_vfs_uri_get_path (parent_uri), - user_time); + desktop_dir = ephy_file_desktop_dir (); + desktop = gnome_vfs_uri_new (desktop_dir); + /* Don't do anything if destination is the desktop */ + if (gnome_vfs_uri_equal (desktop, parent_uri)) + { + ret = FALSE; + } + else + { + /* TODO find a way to make nautilus scroll to the actual file */ + ret = ephy_file_launch_handler ("x-directory/normal", + gnome_vfs_uri_get_path (parent_uri), + user_time); + } + + g_free (desktop_dir); gnome_vfs_uri_unref (uri); gnome_vfs_uri_unref (parent_uri); + gnome_vfs_uri_unref (desktop); return ret; } diff --git a/src/popup-commands.c b/src/popup-commands.c index 27f872e3a..4cc6ed4ce 100644 --- a/src/popup-commands.c +++ b/src/popup-commands.c @@ -175,32 +175,16 @@ save_property_url_completed_cb (EphyEmbedPersist *persist) EPHY_EMBED_PERSIST_ASK_DESTINATION)) { const char *dest; - char *desktop_dir; guint32 user_time; - GnomeVFSURI *parent, *uri, *desktop; user_time = ephy_embed_persist_get_user_time (persist); dest = ephy_embed_persist_get_dest (persist); - g_return_if_fail (dest != NULL); - - desktop_dir = ephy_file_desktop_dir (); - - /* Where are we going to save */ - uri = gnome_vfs_uri_new (dest); - desktop = gnome_vfs_uri_new (desktop_dir); - g_return_if_fail (uri != NULL); - - parent = gnome_vfs_uri_get_parent (uri); + g_return_if_fail (dest != NULL); - /* If save location is the desktop, don't open it */ - if (!gnome_vfs_uri_equal (desktop, parent)) - ephy_file_browse_to (dest, user_time); + /* If save location is the desktop, nautilus will not open */ + ephy_file_browse_to (dest, user_time); - g_free (desktop_dir); - gnome_vfs_uri_unref (uri); - gnome_vfs_uri_unref (parent); - gnome_vfs_uri_unref (desktop); } } |