aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--src/ephy-main.c15
2 files changed, 18 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 46f55ecd7..ce4e248d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-01-30 Christian Persch <chpe@cvs.gnome.org>
+
+ * src/ephy-main.c: (open_urls), (call_dbus_proxy):
+
+ Idle unref the dbus proxy in case we didn't call any remote
+ methods; and ref the dbus proxy for each call + one idle unref
+ for each URL remoted.
+
2006-01-30 Crispin Flowerday <gnome@flowerday.cx>
* src/bookmarks/ephy-bookmark-properties.c: (update_warning),
diff --git a/src/ephy-main.c b/src/ephy-main.c
index 881d58b9c..7ee41baae 100644
--- a/src/ephy-main.c
+++ b/src/ephy-main.c
@@ -370,11 +370,8 @@ open_urls (DBusGProxy *proxy,
guint32 user_time,
GError **error)
{
- EphyShell *shell;
const char *options = "new-window";
int i;
-
- shell = ephy_shell_get_default ();
if (open_in_new_window)
{
@@ -399,17 +396,21 @@ open_urls (DBusGProxy *proxy,
char *path;
path = remaining_arguments[i];
- //path = path_from_command_line_arg (args[i]);
+ /* path = path_from_command_line_arg (args[i]); */
+
+ g_object_ref (proxy);
org_gnome_Epiphany_load_url_async
(proxy, path, options, user_time,
unref_proxy_reply_cb, NULL /* FIXME */);
- //g_free (path);
+ /* g_free (path); */
}
g_strfreev (remaining_arguments);
remaining_arguments = NULL;
+
+ ephy_object_idle_unref (proxy);
}
return TRUE;
@@ -448,6 +449,10 @@ call_dbus_proxy (DBusGProxy *proxy,
{
retval = open_urls (proxy, user_time, error);
}
+ else
+ {
+ ephy_object_idle_unref (proxy);
+ }
}
/* FIXME why? */