18285N/A--- gvfs-1.4.3/monitor/hal/hal-device.c.orig 2009-11-27 22:13:48.000000000 +0800
18285N/A+++ gvfs-1.4.3/monitor/hal/hal-device.c 2010-01-11 16:13:35.423555462 +0800
18285N/A@@ -44,8 +44,11 @@
18285N/A static void
18285N/A hal_device_finalize (HalDevice *device)
18285N/A {
18285N/A+
18285N/A+ DBusError error;
18285N/A+ dbus_error_init(&error);
18285N/A libhal_device_remove_property_watch (device->priv->hal_ctx,
18285N/A- device->priv->udi, NULL);
18285N/A+ device->priv->udi, &error);
18285N/A
18285N/A if (device->priv->properties != NULL)
18285N/A libhal_free_property_set (device->priv->properties);
18285N/A@@ -53,6 +56,8 @@
18285N/A
18285N/A if (G_OBJECT_CLASS (hal_device_parent_class)->finalize)
18285N/A (* G_OBJECT_CLASS (hal_device_parent_class)->finalize) (G_OBJECT (device));
18285N/A+
18285N/A+ dbus_error_free (&error);
18285N/A }
18285N/A
18285N/A static void
18285N/A@@ -226,12 +231,18 @@
18285N/A {
18285N/A HalDevice *device;
18285N/A
18285N/A- libhal_device_add_property_watch (hal_ctx, udi, NULL);
18285N/A+ DBusError error;
18285N/A+ dbus_error_init (&error);
18285N/A+
18285N/A+ libhal_device_add_property_watch (hal_ctx, udi, &error);
18285N/A
18285N/A device = HAL_DEVICE (g_object_new (HAL_TYPE_DEVICE, NULL));
18285N/A device->priv->udi = g_strdup (udi);
18285N/A device->priv->hal_ctx = hal_ctx;
18285N/A device->priv->properties = libhal_device_get_all_properties (hal_ctx, udi, NULL);
18285N/A+
18285N/A+ dbus_error_free (&error);
18285N/A+
18285N/A return device;
18285N/A }
18285N/A
18285N/A@@ -241,13 +252,19 @@
18285N/A LibHalPropertySet *properties)
18285N/A {
18285N/A HalDevice *device;
18285N/A-
18285N/A- libhal_device_add_property_watch (hal_ctx, udi, NULL);
18285N/A+
18285N/A+ DBusError error;
18285N/A+ dbus_error_init (&error);
18285N/A+
18285N/A+ libhal_device_add_property_watch (hal_ctx, udi, &error);
18285N/A
18285N/A device = HAL_DEVICE (g_object_new (HAL_TYPE_DEVICE, NULL));
18285N/A device->priv->udi = g_strdup (udi);
18285N/A device->priv->hal_ctx = hal_ctx;
18285N/A device->priv->properties = properties;
18285N/A+
18285N/A+ dbus_error_free (&error);
18285N/A+
18285N/A return device;
18285N/A }
18285N/A