diff options
author | Richard Hughes <richard@hughsie.com> | 2009-09-11 09:58:46 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2009-09-11 09:58:46 +0100 |
commit | ce955ea09f659a8e703d010433207173a4132eda (patch) | |
tree | a6db0f67581e932a69be5d3f41ecbddcb0c1aeff | |
parent | d42187ef5f9fcfca1863430254282b2d22a5753e (diff) |
Fix a crash with the Linux backend
-rw-r--r-- | src/dkp-daemon.c | 4 | ||||
-rw-r--r-- | src/linux/dkp-backend.c | 11 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/dkp-daemon.c b/src/dkp-daemon.c index c44fcb8..ba1ceb7 100644 --- a/src/dkp-daemon.c +++ b/src/dkp-daemon.c @@ -917,7 +917,7 @@ dkp_daemon_class_init (DkpDaemonClass *klass) "Is a laptop", "If this computer is probably a laptop", FALSE, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_CAN_SUSPEND, @@ -957,7 +957,7 @@ dkp_daemon_class_init (DkpDaemonClass *klass) "Laptop lid is closed", "If the laptop lid is closed", FALSE, - G_PARAM_READABLE)); + G_PARAM_READWRITE)); dbus_g_object_type_install_info (DKP_TYPE_DAEMON, &dbus_glib_dkp_daemon_object_info); diff --git a/src/linux/dkp-backend.c b/src/linux/dkp-backend.c index 7b4d5dd..5788acc 100644 --- a/src/linux/dkp-backend.c +++ b/src/linux/dkp-backend.c @@ -278,9 +278,13 @@ dkp_backend_coldplug (DkpBackend *backend, DkpDaemon *daemon) backend->priv->daemon = g_object_ref (daemon); backend->priv->device_list = dkp_daemon_get_device_list (daemon); + backend->priv->gudev_client = g_udev_client_new (subsystems); + g_signal_connect (backend->priv->gudev_client, "uevent", + G_CALLBACK (dkp_backend_uevent_signal_handler_cb), backend); /* add all subsystems */ for (i=0; subsystems[i] != NULL; i++) { + egg_debug ("registering subsystem : %s", subsystems[i]); devices = g_udev_client_query_by_subsystem (backend->priv->gudev_client, subsystems[i]); for (l = devices; l != NULL; l = l->next) { native = l->data; @@ -290,13 +294,6 @@ dkp_backend_coldplug (DkpBackend *backend, DkpDaemon *daemon) g_list_free (devices); } - /* connect to the DeviceKit backend */ - for (i=0; subsystems[i] != NULL; i++) - egg_debug ("registering subsystem : %s", subsystems[i]); - backend->priv->gudev_client = g_udev_client_new (subsystems); - g_signal_connect (backend->priv->gudev_client, "uevent", - G_CALLBACK (dkp_backend_uevent_signal_handler_cb), backend); - return TRUE; } |