diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-01-03 15:32:41 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-01-03 15:32:41 +0000 |
commit | 5fdc4a006b1577da5d103978d63b00bc181e6bd3 (patch) | |
tree | 1b2c8414c6db345c9dc9e6c50e1e67894b8d0d5a | |
parent | faded21268889b57708cbcd7281ecefeadafc1af (diff) | |
download | gvfs-5fdc4a006b1577da5d103978d63b00bc181e6bd3.tar.gz |
Handle pool finalizing on unloads of hal module (#507037)
2008-01-03 Alexander Larsson <alexl@redhat.com>
* hal/ghalvolumemonitor.c:
Handle pool finalizing on unloads of hal module
(#507037)
svn path=/trunk/; revision=1072
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | hal/ghalvolumemonitor.c | 17 |
2 files changed, 17 insertions, 6 deletions
@@ -1,5 +1,11 @@ 2008-01-03 Alexander Larsson <alexl@redhat.com> + * hal/ghalvolumemonitor.c: + Handle pool finalizing on unloads of hal module + (#507037) + +2008-01-03 Alexander Larsson <alexl@redhat.com> + * daemon/gvfsbackendsftp.c: Return icons diff --git a/hal/ghalvolumemonitor.c b/hal/ghalvolumemonitor.c index 24a5d629..01f761d0 100644 --- a/hal/ghalvolumemonitor.c +++ b/hal/ghalvolumemonitor.c @@ -84,6 +84,15 @@ static void update_discs (GHalVolumeMonitor *monitor); #define g_hal_volume_monitor_get_type g_hal_volume_monitor_get_type G_DEFINE_DYNAMIC_TYPE (GHalVolumeMonitor, g_hal_volume_monitor, G_TYPE_NATIVE_VOLUME_MONITOR); +static HalPool * +get_hal_pool (void) +{ + if (pool == NULL) + pool = hal_pool_new ("block"); + + return pool; +} + static void g_hal_volume_monitor_finalize (GObject *object) { @@ -355,9 +364,6 @@ g_hal_volume_monitor_constructor (GType type, object = NULL; - /* Created by is_supported */ - g_assert (pool != NULL); - /* Invoke parent constructor. */ klass = G_HAL_VOLUME_MONITOR_CLASS (g_type_class_peek (G_TYPE_HAL_VOLUME_MONITOR)); parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); @@ -366,7 +372,7 @@ g_hal_volume_monitor_constructor (GType type, construct_properties); monitor = G_HAL_VOLUME_MONITOR (object); - monitor->pool = g_object_ref (pool); + monitor->pool = g_object_ref (get_hal_pool ()); monitor->mount_monitor = g_unix_mount_monitor_new (); @@ -414,8 +420,7 @@ g_hal_volume_monitor_class_finalize (GHalVolumeMonitorClass *klass) static gboolean is_supported (void) { - pool = hal_pool_new ("block"); - return pool != NULL; + return get_hal_pool() != NULL; } static GVolume * |