Sophie

Sophie

distrib > Mageia > 1 > i586 > media > nonfree-updates-src > by-pkgid > d7bb61f751615ac486a9ce00516a6edd > files > 12

nvidia-96xx-96.43.20-1.3.mga1.nonfree.src.rpm

Index: nvidia-settings-1.0/src/XF86Config-parser/Module.c
===================================================================
--- nvidia-settings-1.0/src/XF86Config-parser/Module.c
+++ nvidia-settings-1.0/src/XF86Config-parser/Module.c	2009-10-18 14:42:11.523301034 +0300
@@ -73,6 +73,7 @@
     {ENDSECTION, "endsection"},
     {LOAD, "load"},
     {LOAD_DRIVER, "loaddriver"},
+    {DISABLE, "disable"},
     {SUBSECTION, "subsection"},
     {-1, ""},
 };
@@ -145,6 +146,12 @@
                 xconfigAddNewLoadDirective (ptr->loads, val.str,
                                          XCONFIG_LOAD_DRIVER, NULL, TRUE);
             break;
+        case DISABLE:
+            if (xconfigGetSubToken (&(ptr->comment)) != STRING)
+                Error (QUOTE_MSG, "Disable");
+	    ptr->disables = xconfigAddNewLoadDirective (ptr->disables, val.str,
+                                        XCONFIG_DISABLE_MODULE, NULL, TRUE);
+            break;
         case SUBSECTION:
             if (xconfigGetSubToken (&(ptr->comment)) != STRING)
                         Error (QUOTE_MSG, "SubSection");
@@ -210,6 +217,19 @@
 #endif
         }
     }
+    for (lptr = ptr->disables; lptr; lptr = lptr->next)
+    {
+        switch (lptr->type)
+        {
+        case XCONFIG_DISABLE_MODULE:
+            fprintf (cf, "    Disable        \"%s\"", lptr->name);
+            if (lptr->comment)
+                fprintf(cf, "%s", lptr->comment);
+            else
+                fputc('\n', cf);
+            break;
+        }
+    }
 }
 
 XConfigLoadPtr
@@ -260,15 +280,11 @@
     return head;
 }
 
-void
-xconfigFreeModules (XConfigModulePtr ptr)
+static void
+FreeModule (XConfigLoadPtr lptr)
 {
-    XConfigLoadPtr lptr;
     XConfigLoadPtr prev;
 
-    if (ptr == NULL)
-        return;
-    lptr = ptr->loads;
     while (lptr)
     {
         TEST_FREE (lptr->name);
@@ -277,6 +293,17 @@
         lptr = lptr->next;
         free (prev);
     }
+}
+
+void
+xconfigFreeModules (XConfigModulePtr ptr)
+{
+    if (ptr == NULL)
+        return;
+
+    FreeModule(ptr->loads);
+    FreeModule(ptr->disables);
+
     TEST_FREE (ptr->comment);
     free (ptr);
 }
Index: nvidia-settings-1.0/src/XF86Config-parser/xf86Parser.h
===================================================================
--- nvidia-settings-1.0/src/XF86Config-parser/xf86Parser.h
+++ nvidia-settings-1.0/src/XF86Config-parser/xf86Parser.h	2009-10-18 14:42:11.586550049 +0300
@@ -170,7 +170,7 @@
 /* Values for load_type */
 #define XCONFIG_LOAD_MODULE    0
 #define XCONFIG_LOAD_DRIVER    1
-
+#define XCONFIG_DISABLE_MODULE 2
 
 
 /*
@@ -187,6 +187,7 @@
 
 typedef struct {
     XConfigLoadPtr  loads;
+    XConfigLoadPtr  disables;
     char           *comment;
 } XConfigModuleRec, *XConfigModulePtr;
 
Index: nvidia-settings-1.0/src/XF86Config-parser/xf86tokens.h
===================================================================
--- nvidia-settings-1.0/src/XF86Config-parser/xf86tokens.h
+++ nvidia-settings-1.0/src/XF86Config-parser/xf86tokens.h	2009-10-18 14:42:11.587550929 +0300
@@ -167,6 +167,7 @@
     /* Module tokens */
     LOAD,
     LOAD_DRIVER,
+    DISABLE,
     
     /* Device tokens */
     DRIVER,