aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-11-02 21:58:03 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-11-02 21:58:03 +0800
commit6780c24c52863706602cf0b900ba4adc298180fe (patch)
tree58c2144eaf1827a2b60695cf2a2a1a3f2bb0d919 /src
parent0c927779b5b37ba01bb710b86e21c55f35e7ad94 (diff)
downloadgsoc2013-empathy-6780c24c52863706602cf0b900ba4adc298180fe.tar
gsoc2013-empathy-6780c24c52863706602cf0b900ba4adc298180fe.tar.gz
gsoc2013-empathy-6780c24c52863706602cf0b900ba4adc298180fe.tar.bz2
gsoc2013-empathy-6780c24c52863706602cf0b900ba4adc298180fe.tar.lz
gsoc2013-empathy-6780c24c52863706602cf0b900ba4adc298180fe.tar.xz
gsoc2013-empathy-6780c24c52863706602cf0b900ba4adc298180fe.tar.zst
gsoc2013-empathy-6780c24c52863706602cf0b900ba4adc298180fe.zip
Don't destroy the call factory right away (#633816)
Diffstat (limited to 'src')
-rw-r--r--src/empathy-av.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/empathy-av.c b/src/empathy-av.c
index 6a4688231..f6d1f5268 100644
--- a/src/empathy-av.c
+++ b/src/empathy-av.c
@@ -47,6 +47,8 @@ static GtkApplication *app = NULL;
static gboolean activated = FALSE;
static gboolean use_timer = TRUE;
+static EmpathyCallFactory *call_factory = NULL;
+
static void
new_call_handler_cb (EmpathyCallFactory *factory,
EmpathyCallHandler *handler,
@@ -72,12 +74,12 @@ activate_cb (GApplication *application)
{
if (!use_timer && !activated)
{
- EmpathyCallFactory *call_factory;
GError *error = NULL;
/* keep a 'ref' to the application */
g_application_hold (G_APPLICATION (app));
+ g_assert (call_factory == NULL);
call_factory = empathy_call_factory_initialise ();
g_signal_connect (G_OBJECT (call_factory), "new-call-handler",
@@ -90,8 +92,6 @@ activate_cb (GApplication *application)
}
activated = TRUE;
-
- g_object_unref (call_factory);
}
}
@@ -158,6 +158,7 @@ main (int argc,
retval = g_application_run (G_APPLICATION (app), argc, argv);
g_object_unref (app);
+ tp_clear_object (&call_factory);
#ifdef ENABLE_DEBUG
g_object_unref (debug_sender);