diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ephy-tab.c | 6 | ||||
-rw-r--r-- | src/window-commands.c | 13 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/ephy-tab.c b/src/ephy-tab.c index 978074394..2db9f5871 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -562,15 +562,11 @@ ephy_tab_link_message_cb (EphyEmbed *embed, } static void -ephy_tab_address_cb (EphyEmbed *embed, EphyTab *tab) +ephy_tab_address_cb (EphyEmbed *embed, char *address, EphyTab *tab) { if (tab->priv->address_expire == TAB_ADDRESS_EXPIRE_NOW) { - char *address; - - ephy_embed_get_location (embed, TRUE, &address); ephy_tab_set_location (tab, address, TAB_ADDRESS_EXPIRE_NOW); - g_free (address); } ephy_tab_set_link_message (tab, NULL); diff --git a/src/window-commands.c b/src/window-commands.c index 10e154293..5c2fefa98 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -304,8 +304,7 @@ void window_cmd_file_open (EggAction *action, EphyWindow *window) { - gchar *dir, *retDir; - gchar *file; + char *dir, *retDir, *file, *uri_spec; GnomeVFSURI *uri; GtkWidget *wmain; EphyEmbedShell *embed_shell; @@ -328,15 +327,20 @@ window_cmd_file_open (EggAction *action, dir, NULL, modeOpen, &file, NULL, NULL); - uri = gnome_vfs_uri_new (file); + uri_spec = gnome_vfs_make_uri_from_input (file); + uri = gnome_vfs_uri_new (uri_spec); if (uri) { + char *unescaped_dir; + retDir = gnome_vfs_uri_extract_dirname (uri); + unescaped_dir = gnome_vfs_unescape_string (retDir, "/"); /* set default open dir */ eel_gconf_set_string (CONF_STATE_OPEN_DIR, - retDir); + unescaped_dir); + g_free (unescaped_dir); g_free (retDir); gnome_vfs_uri_unref (uri); @@ -346,6 +350,7 @@ window_cmd_file_open (EggAction *action, } } + g_free (uri_spec); g_free (file); g_free (dir); } |