gnome-scan r525 - in trunk: . modules



Author: bersace
Date: Wed Feb 27 14:40:41 2008
New Revision: 525
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=525&view=rev

Log:
Fix build error. :x


Modified:
   trunk/ChangeLog
   trunk/modules/gsane-backend.c
   trunk/modules/gsane-scanner.c

Modified: trunk/modules/gsane-backend.c
==============================================================================
--- trunk/modules/gsane-backend.c	(original)
+++ trunk/modules/gsane-backend.c	Wed Feb 27 14:40:41 2008
@@ -73,7 +73,7 @@
 		}
 		else {
 			g_debug("SANE device %s failed or ignored",
-				devices[i].name);
+				devices[i]->name);
 		}
 	}
 }

Modified: trunk/modules/gsane-scanner.c
==============================================================================
--- trunk/modules/gsane-scanner.c	(original)
+++ trunk/modules/gsane-scanner.c	Wed Feb 27 14:40:41 2008
@@ -45,6 +45,7 @@
 	
 	/* SANE */
 	gchar*			sane_id;
+	gchar*			sane_type;
 	SANE_Handle		handle;
 	
 	/* Aquisition */
@@ -71,19 +72,20 @@
 enum
 	{
 		PROP_0,
-		PROP_SANE_ID
+		PROP_SANE_ID,
+		PROP_SANE_TYPE
 	};
 
 static GnomeScannerClass* parent_class = NULL;
 
 /* PLUGIN API */
 static void		gss_configure		(GnomeScanPlugin *plugin,
-						 GnomeScanSettings *settings);
+										 GnomeScanSettings *settings);
 static GList*		gss_get_child_nodes	(GnomeScanPlugin *plugin,
-						 GeglNode *root);
+											 GeglNode *root);
 static gboolean		gss_start_frame		(GnomeScanPlugin *plugin);
 static gboolean		gss_work		(GnomeScanPlugin *plugin,
-						 gdouble *progress);
+										gdouble *progress);
 static void		gss_end_frame 		(GnomeScanPlugin *plugin);
 
 /* SCANNER API */
@@ -96,24 +98,24 @@
 /* OPTIONS */
 static void		gss_probe_options	(GSaneScanner *sane);
 static void		gss_mp_foreach_option_matches (const gchar *key,
-						       MetaParam *mp,
-						       GPtrArray* arg);
-static void		gss_mp_foreach_add_param (const gchar* key,
-						  MetaParam *mp,
-						  GSaneScanner *sane);
+												  MetaParam *mp,
+												  GPtrArray* arg);
+static void		gss_mp_foreach_add_param		(const gchar* key,
+													MetaParam *mp,
+													GSaneScanner *sane);
 
 static void		gss_params_foreach_set_param	(GParamSpec *spec,
-							 GSaneScanner *gss);
+													GSaneScanner *gss);
 static GParamSpec*	gss_option_get_param_spec	(GSaneScanner *sane,
-							 SANE_Int n);
+													SANE_Int n);
 static void		gss_params_foreach_update_param (GParamSpec *pspec,
-							 GSaneScanner *gss);
+													GSaneScanner *gss);
 static void		gss_option_set_default_value_by_index (GSaneScanner *gss,
-							       SANE_Int n,
-							       GType type);
+														  SANE_Int n,
+														  GType type);
 static GValue*		gss_option_get_value_by_index	(GSaneScanner *sane,
-							 SANE_Int n,
-							 GType type);
+														SANE_Int n,
+														GType type);
 
 /* utils */
 #define	gss_option_name_matches_array(spec,names)	gsane_str_matches_strv(g_param_spec_get_name(spec),names)
@@ -136,10 +138,12 @@
 	
 	/* v4l set type as "virtual device". Welcome to the bazar of
 	   SANE backends :( */
-	if (g_str_equal(device->type, "video camera")
-	    || g_str_equal(device->type, "webcam")
-	    || g_strstr_len(device->name, 4, "v4l"))
-		return NULL;
+	if (g_str_equal(priv->sane_type, "video camera")
+	    || g_str_equal(priv->sane_type, "webcam")
+	    || g_strstr_len(priv->sane_id, 4, "v4l")) {
+			g_debug("Ignoring %s %s", priv->sane_type, priv->sane_id);
+		return NULL;	
+		}
 
 	status = sane_open (priv->sane_id, &(priv->handle));
 	
@@ -182,6 +186,8 @@
 	
 	g_hash_table_destroy (priv->meta_params);
 	sane_close(priv->handle);
+	g_free(priv->sane_type);
+	g_free(priv->sane_id);
 	
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -196,6 +202,9 @@
 		case PROP_SANE_ID:
 			GET_PRIVATE (object)->sane_id = g_value_dup_string(value);
 			break;
+		case PROP_SANE_TYPE:
+			GET_PRIVATE (object)->sane_type = g_value_dup_string(value);
+			break;
 		default:
 			G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
 			break;
@@ -240,12 +249,20 @@
 	object_class->finalize = gsane_scanner_finalize;
 	
 	g_object_class_install_property (object_class,
-					 PROP_SANE_ID,
-					 g_param_spec_string ("sane-id",
-							      "SANE id",
-							      "SANE device identifier",
-							      "",
-							      G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+									 PROP_SANE_ID,
+									 g_param_spec_string ("sane-id",
+														  "SANE id",
+														  "SANE device identifier",
+														  "",
+														  G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+	
+	g_object_class_install_property (object_class,
+									 PROP_SANE_TYPE,
+									 g_param_spec_string ("sane-type",
+														  "SANE device type",
+														  "SANE device type",
+														  "",
+														  G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
 }
 
 
@@ -254,14 +271,15 @@
 {
 	GObject *object =
 		g_object_new (GSANE_TYPE_SCANNER,
-			      "name", g_strconcat(device->vendor,
-						  " ",
-						  device->model,
-						  NULL),
-			      "blurb", "",
-			      "icon-name", "scanner",
-			      "sane-id", device->name,
-			      NULL);
+					  "name", g_strconcat(device->vendor,
+										  " ",
+										  device->model,
+										  NULL),
+					  "blurb", "",
+					  "icon-name", "scanner",
+					  "sane-id", device->name,
+					  "sane-type", device->type,
+					  NULL);
 	return GNOME_SCANNER (object);
 }
 
@@ -269,7 +287,7 @@
 
 static void
 gss_configure	(GnomeScanPlugin *plugin,
-		 GnomeScanSettings *settings)
+				  GnomeScanSettings *settings)
 {
 	GSaneScannerPrivate *priv = GET_PRIVATE (plugin);
 	
@@ -291,7 +309,7 @@
 
 static GList*
 gss_get_child_nodes (GnomeScanPlugin *plugin,
-		     GeglNode *root)
+					 GeglNode *root)
 {
 	GSaneScannerPrivate *priv = GET_PRIVATE (plugin);
 	GList* list = NULL;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]