aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin/winconfig.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-05-20 15:26:41 +0000
committermarha <marha@users.sourceforge.net>2010-05-20 15:26:41 +0000
commitf5fb2d27f1fd4976f0e77d97461a5e57ba6c9a23 (patch)
treec76e9cb708483e65b114c08ed008880f478cae15 /xorg-server/hw/xwin/winconfig.c
parentb16c0295c9f95426980d567e93ae00c52545b3fa (diff)
parent3319741e6f9fc3232eb40462a261271b9af2dcb2 (diff)
downloadvcxsrv-f5fb2d27f1fd4976f0e77d97461a5e57ba6c9a23.tar.gz
vcxsrv-f5fb2d27f1fd4976f0e77d97461a5e57ba6c9a23.tar.bz2
vcxsrv-f5fb2d27f1fd4976f0e77d97461a5e57ba6c9a23.zip
svn merge "^/branches/released" .
Diffstat (limited to 'xorg-server/hw/xwin/winconfig.c')
-rw-r--r--xorg-server/hw/xwin/winconfig.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/xorg-server/hw/xwin/winconfig.c b/xorg-server/hw/xwin/winconfig.c
index afdf6926e..fffd3e813 100644
--- a/xorg-server/hw/xwin/winconfig.c
+++ b/xorg-server/hw/xwin/winconfig.c
@@ -670,6 +670,18 @@ winSetRealOption (pointer optlist, const char *name, double deflt)
deflt = o.value.realnum;
return deflt;
}
+
+double
+winSetPercentOption (pointer optlist, const char *name, double deflt)
+{
+ OptionInfoRec o;
+
+ o.name = name;
+ o.type = OPTV_PERCENT;
+ if (ParseOptionValue (-1, optlist, &o))
+ deflt = o.value.realnum;
+ return deflt;
+}
#endif
@@ -842,6 +854,31 @@ ParseOptionValue (int scrnIndex, pointer options, OptionInfoPtr p)
p->found = FALSE;
}
break;
+ case OPTV_PERCENT:
+ if (*s == '\0')
+ {
+ winDrvMsg (scrnIndex, X_WARNING,
+ "Option \"%s\" requires a percent value\n",
+ p->name);
+ p->found = FALSE;
+ }
+ else
+ {
+ double percent = strtod (s, &end);
+
+ if (end != s && winNameCompare (end, "%"))
+ {
+ p->found = TRUE;
+ p->value.realnum = percent;
+ }
+ else
+ {
+ winDrvMsg (scrnIndex, X_WARNING,
+ "Option \"%s\" requires a frequency value\n",
+ p->name);
+ p->found = FALSE;
+ }
+ }
case OPTV_FREQ:
if (*s == '\0')
{