aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2010-04-07 20:40:22 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-04-07 20:43:38 +0800
commit280cd635f51af340e13b81dde87241b75484b8f1 (patch)
tree28d2c699eb32911439e881a045fb4ff4d90bf7c5 /libempathy-gtk
parentef99f724c790755478e66542bd0b25582d8307a7 (diff)
downloadgsoc2013-empathy-280cd635f51af340e13b81dde87241b75484b8f1.tar
gsoc2013-empathy-280cd635f51af340e13b81dde87241b75484b8f1.tar.gz
gsoc2013-empathy-280cd635f51af340e13b81dde87241b75484b8f1.tar.bz2
gsoc2013-empathy-280cd635f51af340e13b81dde87241b75484b8f1.tar.lz
gsoc2013-empathy-280cd635f51af340e13b81dde87241b75484b8f1.tar.xz
gsoc2013-empathy-280cd635f51af340e13b81dde87241b75484b8f1.tar.zst
gsoc2013-empathy-280cd635f51af340e13b81dde87241b75484b8f1.zip
location_manager_dispose: chain up to the parent's dispose, not the parent's finalize
This leads to crashes when other code is relying on weak reference notifications happening in the right order.
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-location-manager.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-location-manager.c b/libempathy-gtk/empathy-location-manager.c
index 4ef27dba7..0422f5cc6 100644
--- a/libempathy-gtk/empathy-location-manager.c
+++ b/libempathy-gtk/empathy-location-manager.c
@@ -98,6 +98,8 @@ static void
location_manager_dispose (GObject *object)
{
EmpathyLocationManagerPriv *priv = GET_PRIV (object);
+ void (*dispose) (GObject *) =
+ G_OBJECT_CLASS (empathy_location_manager_parent_class)->dispose;
if (priv->account_manager != NULL)
{
@@ -129,7 +131,8 @@ location_manager_dispose (GObject *object)
priv->location = NULL;
}
- G_OBJECT_CLASS (empathy_location_manager_parent_class)->finalize (object);
+ if (dispose != NULL)
+ dispose (object);
}
static void