aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ephy-main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ephy-main.c b/src/ephy-main.c
index 7f8dc617b..98d71f1c6 100644
--- a/src/ephy-main.c
+++ b/src/ephy-main.c
@@ -77,6 +77,13 @@ shell_weak_notify (gpointer data,
gtk_main_quit ();
}
+static gboolean
+idle_unref (GObject *object)
+{
+ g_object_unref (object);
+ return FALSE;
+}
+
int
main (int argc, char *argv[])
{
@@ -178,9 +185,8 @@ main (int argc, char *argv[])
}
else if (new_instance)
{
- g_object_unref (ephy_shell);
-
g_object_weak_ref (G_OBJECT (ephy_shell), shell_weak_notify, NULL);
+ g_idle_add ((GSourceFunc) idle_unref, ephy_shell);
gtk_main ();
}