>From 5aa12a6fb99e47e6af9eb7e30d98c4f6b2006edd Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Wed, 14 May 2008 18:25:40 +0100
Subject: [PATCH] Fix _get_error() in the manager

Fix wrong assumption of semantics when fp_discover_devs()
returns NULL.
---
 po/POTFILES.in |    1 +
 src/fprintd.h  |    1 +
 src/manager.c  |    4 +++-
 3 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index e723152..8646878 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1 +1,2 @@
 src/main.c
+src/manager.c
diff --git a/src/fprintd.h b/src/fprintd.h
index 0f70483..cd096d5 100644
--- a/src/fprintd.h
+++ b/src/fprintd.h
@@ -31,6 +31,7 @@ GQuark fprint_error_quark(void);
 /* Errors */
 #define FPRINT_ERROR fprint_error_quark()
 typedef enum {
+	FPRINT_ERROR_INTERNAL,
 	FPRINT_ERROR_DISCOVER_PRINTS,
 	FPRINT_ERROR_PRINT_NOT_FOUND,
 	FPRINT_ERROR_PRINT_LOAD,
diff --git a/src/manager.c b/src/manager.c
index 80f7f7f..0ddd99a 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -19,6 +19,7 @@
 
 #include <dbus/dbus-glib-bindings.h>
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <libfprint/fprint.h>
 #include <glib-object.h>
 
@@ -79,7 +80,8 @@ fprint_manager_init (FprintManager *manager)
 	int i = 0;
 
 	if (!discovered_devs) {
-		priv->last_error = g_error_new (0, 0, "NO DEVICES AVAILABLE: FIXME");
+		priv->last_error = g_error_new (FPRINT_ERROR, FPRINT_ERROR_INTERNAL,
+						_("An internal error occurred in libfprint"));
 		return;
 	}
 
-- 
1.5.4.5

