aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ephy-tab.c6
-rw-r--r--src/window-commands.c13
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);
}