summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Toso <me@victortoso.com>2016-11-14 18:37:56 +0100
committerVictor Toso <me@victortoso.com>2016-11-15 13:29:10 +0100
commiteba83a7056d4213b60466f692a03e515115b0826 (patch)
treec2e6d447654389f09f8b624ec8c227cc652d3598
parent82ed594a0143370630d6d71ac484d66475cdb96c (diff)
win-usb-dev: report error to g_udev_client_new()
Otherwise application will not be able to know the reason for failure. Signed-off-by: Victor Toso <victortoso@redhat.com> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
-rw-r--r--src/usb-device-manager.c2
-rw-r--r--src/win-usb-dev.c4
-rw-r--r--src/win-usb-dev.h2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c
index 6f9ed5d..3d4bd98 100644
--- a/src/usb-device-manager.c
+++ b/src/usb-device-manager.c
@@ -320,7 +320,7 @@ static gboolean spice_usb_device_manager_initable_init(GInitable *initable,
/* Start listening for usb devices plug / unplug */
#ifdef USE_GUDEV
- priv->udev = g_udev_client_new(subsystems);
+ priv->udev = g_udev_client_new(subsystems, err);
g_signal_connect(G_OBJECT(priv->udev), "uevent",
G_CALLBACK(spice_usb_device_manager_uevent_cb), self);
/* Do coldplug (detection of already connected devices) */
diff --git a/src/win-usb-dev.c b/src/win-usb-dev.c
index a857b02..4b95b2d 100644
--- a/src/win-usb-dev.c
+++ b/src/win-usb-dev.c
@@ -106,12 +106,12 @@ GQuark g_udev_client_error_quark(void)
return g_quark_from_static_string("win-gudev-client-error-quark");
}
-GUdevClient *g_udev_client_new(const gchar* const *subsystems)
+GUdevClient *g_udev_client_new(const gchar* const *subsystems, GError **error)
{
if (singleton != NULL)
return g_object_ref(singleton);
- singleton = g_initable_new(G_UDEV_TYPE_CLIENT, NULL, NULL, NULL);
+ singleton = g_initable_new(G_UDEV_TYPE_CLIENT, NULL, error, NULL);
return singleton;
}
diff --git a/src/win-usb-dev.h b/src/win-usb-dev.h
index b5c4fce..a9562ab 100644
--- a/src/win-usb-dev.h
+++ b/src/win-usb-dev.h
@@ -79,7 +79,7 @@ struct _GUdevClientClass
};
GType g_udev_client_get_type(void) G_GNUC_CONST;
-GUdevClient *g_udev_client_new(const gchar* const *subsystems);
+GUdevClient *g_udev_client_new(const gchar* const *subsystems, GError **error);
GList *g_udev_client_query_by_subsystem(GUdevClient *client, const gchar *subsystem);
GType g_udev_device_get_type(void) G_GNUC_CONST;