gnome-scan r749 - in trunk: . modules/gsane
- From: bersace svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-scan r749 - in trunk: . modules/gsane
- Date: Thu, 25 Dec 2008 19:48:14 +0000 (UTC)
Author: bersace
Date: Thu Dec 25 19:48:14 2008
New Revision: 749
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=749&view=rev
Log:
Silently support SANE int option as double.
Modified:
trunk/ChangeLog
trunk/modules/gsane/gsane-option-handler.c
trunk/modules/gsane/gsane-option-handler.h
Modified: trunk/modules/gsane/gsane-option-handler.c
==============================================================================
--- trunk/modules/gsane/gsane-option-handler.c (original)
+++ trunk/modules/gsane/gsane-option-handler.c Thu Dec 25 19:48:14 2008
@@ -258,15 +258,37 @@
gsane_option_handler_get_double(GSaneOptionHandler *self, const SANE_Option_Descriptor* desc, SANE_Int index, GError **error)
{
SANE_Word value;
- gsane_option_handler_control_option(self, desc, index, SANE_ACTION_GET_VALUE, &value, error);
- return SANE_UNFIX(value);
+ switch(desc->type) {
+ case SANE_TYPE_INT:
+ return (gdouble) gsane_option_handler_get_int(self, desc, index, error);
+ break;
+ case SANE_TYPE_FIXED:
+ gsane_option_handler_control_option(self, desc, index, SANE_ACTION_GET_VALUE, &value, error);
+ return SANE_UNFIX(value);
+ break;
+ default:
+ g_warning("Trying to get double value on a non number option.");
+ return 0.0;
+ break;
+ }
}
gboolean
gsane_option_handler_set_double(GSaneOptionHandler *self, const SANE_Option_Descriptor* desc, SANE_Int index, gdouble value, GError **error)
{
- SANE_Fixed fixed = SANE_FIX(value);
- return gsane_option_handler_control_option(self, desc, index, SANE_ACTION_SET_VALUE, &fixed, error);
+ SANE_Fixed fixed;
+ switch(desc->type) {
+ case SANE_TYPE_INT:
+ return gsane_option_handler_set_int(self, desc, index, (gint) value, error);
+ break;
+ case SANE_TYPE_FIXED:
+ fixed = SANE_FIX(value);
+ return gsane_option_handler_control_option(self, desc, index, SANE_ACTION_SET_VALUE, &fixed, error);
+ break;
+ default:
+ g_warning("Trying to get double value from non number option.");
+ return FALSE;
+ }
}
Modified: trunk/modules/gsane/gsane-option-handler.h
==============================================================================
--- trunk/modules/gsane/gsane-option-handler.h (original)
+++ trunk/modules/gsane/gsane-option-handler.h Thu Dec 25 19:48:14 2008
@@ -26,6 +26,7 @@
#include <sane/sane.h>
#include <gnome-scan-scanner.h>
#include <gnome-scan-option.h>
+#include "gsane-common.h"
G_BEGIN_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]