summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/xfree86/parser/Monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs/Xserver/hw/xfree86/parser/Monitor.c')
-rw-r--r--xc/programs/Xserver/hw/xfree86/parser/Monitor.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/parser/Monitor.c b/xc/programs/Xserver/hw/xfree86/parser/Monitor.c
index 9b91207c9..9009cc231 100644
--- a/xc/programs/Xserver/hw/xfree86/parser/Monitor.c
+++ b/xc/programs/Xserver/hw/xfree86/parser/Monitor.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/parser/Monitor.c,v 1.15 2000/10/24 22:45:10 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/parser/Monitor.c,v 1.17 2000/11/15 00:22:27 dawes Exp $ */
/*
*
* Copyright (c) 1997 Metro Link Incorporated
@@ -201,6 +201,7 @@ xf86parseModeLine (void)
if (xf86getToken (NULL) != NUMBER)
Error (NUMBER_MSG, "Vscan");
ptr->ml_vscan = val.num;
+ ptr->ml_flags |= XF86CONF_VSCAN;
break;
case TT_CUSTOM:
ptr->ml_flags |= XF86CONF_CUSTOM;
@@ -345,6 +346,7 @@ xf86parseVerboseMode (void)
case VSCAN:
if (xf86getToken (NULL) != NUMBER)
Error ("Vertical scan count expected", NULL);
+ ptr->ml_flags |= XF86CONF_VSCAN;
ptr->ml_vscan = val.num;
break;
case EOF_TOKEN:
@@ -634,10 +636,12 @@ xf86printMonitorSection (FILE * cf, XF86ConfMonitorPtr ptr)
{
int i;
XF86ConfModeLinePtr mlptr;
+ XF86ConfModesLinkPtr mptr;
XF86OptionPtr optr;
while (ptr)
{
+ mptr = ptr->mon_modes_sect_lst;
fprintf (cf, "Section \"Monitor\"\n");
if (ptr->mon_comment)
fprintf (cf, "\t### \"%s\"\n", ptr->mon_comment);
@@ -647,6 +651,10 @@ xf86printMonitorSection (FILE * cf, XF86ConfMonitorPtr ptr)
fprintf (cf, "\tVendorName \"%s\"\n", ptr->mon_vendor);
if (ptr->mon_modelname)
fprintf (cf, "\tModelName \"%s\"\n", ptr->mon_modelname);
+ while (mptr) {
+ fprintf (cf, "\tUseModes \"%s\"\n", mptr->ml_modes_str);
+ mptr = mptr->list.next;
+ }
if (ptr->mon_width)
fprintf (cf, "\tDisplaySize %d\t%d\n",
ptr->mon_width,
@@ -760,6 +768,8 @@ xf86printModesSection (FILE * cf, XF86ConfModesPtr ptr)
fprintf (cf, " doublescan");
if (mlptr->ml_flags & XF86CONF_HSKEW)
fprintf (cf, " hskew %d", mlptr->ml_hskew);
+ if (mlptr->ml_flags & XF86CONF_VSCAN)
+ fprintf (cf, " vscan %d", mlptr->ml_vscan);
if (mlptr->ml_flags & XF86CONF_BCAST)
fprintf (cf, " bcast");
fprintf (cf, "\n");
@@ -870,6 +880,7 @@ xf86validateMonitor (XF86ConfigPtr p, XF86ConfScreenPtr screen)
screen->scrn_identifier);
return (FALSE);
}
+ modeslnk->ml_modes = modes;
modeslnk = modeslnk->list.next;
}
return (TRUE);