summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2006-06-01 19:49:55 +0000
committerDaniel Stone <daniel@fooishbar.org>2006-06-01 19:49:55 +0000
commitee689c104287140db38bbd26959ab1b4847c168e (patch)
tree28a009433aa1c9245b36096471077a842fda60fe /hw
parent07c731a2bc21e6b98f28a2c0ebc42f01b67b824b (diff)
Ignore requests to load GLcore and speedo.
Diffstat (limited to 'hw')
-rw-r--r--hw/xfree86/common/xf86Config.c20
-rw-r--r--hw/xfree86/common/xf86Configure.c6
-rw-r--r--hw/xfree86/parser/Module.c2
-rw-r--r--hw/xfree86/parser/xf86Parser.h1
4 files changed, 19 insertions, 10 deletions
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 180506b5d..740e7664e 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xserver/xorg/hw/xfree86/common/xf86Config.c,v 1.29 2006/05/25 23:32:33 reed Exp $ */
+/* $XdotOrg: xserver/xorg/hw/xfree86/common/xf86Config.c,v 1.30 2006/05/29 11:14:02 daniels Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 3.276 2003/10/08 14:58:26 dawes Exp $ */
@@ -249,8 +249,9 @@ xf86ValidateFontPath(char *path)
char **
xf86ModulelistFromConfig(pointer **optlist)
{
- int count = 0;
+ int count = 0, i = 0;
char **modulearray;
+ char **ignore = { "GLcore", "speedo", NULL };
pointer *optarray;
XF86LoadPtr modp;
@@ -271,7 +272,12 @@ xf86ModulelistFromConfig(pointer **optlist)
*/
modp = xf86configptr->conf_modules->mod_load_lst;
while (modp) {
- count++;
+ for (i = 0; ignore[i]; i++) {
+ if (strcmp(modp->load_name, ignore[i]) == 0)
+ modp->ignore = 1;
+ }
+ if (!modp->ignore)
+ count++;
modp = (XF86LoadPtr) modp->list.next;
}
}
@@ -287,9 +293,11 @@ xf86ModulelistFromConfig(pointer **optlist)
if (xf86configptr->conf_modules) {
modp = xf86configptr->conf_modules->mod_load_lst;
while (modp) {
- modulearray[count] = modp->load_name;
- optarray[count] = modp->load_opt;
- count++;
+ if (!modp->ignore) {
+ modulearray[count] = modp->load_name;
+ optarray[count] = modp->load_opt;
+ count++;
+ }
modp = (XF86LoadPtr) modp->list.next;
}
}
diff --git a/hw/xfree86/common/xf86Configure.c b/hw/xfree86/common/xf86Configure.c
index fac9fc0b9..4b9d418b9 100644
--- a/hw/xfree86/common/xf86Configure.c
+++ b/hw/xfree86/common/xf86Configure.c
@@ -625,10 +625,8 @@ configureModuleSection (void)
module = xf86confmalloc(sizeof(XF86LoadRec));
memset((XF86LoadPtr)module,0,sizeof(XF86LoadRec));
module->load_name = *el;
- /* HACK, remove GLcore, glx, loads it as a submodule */
- if (strcmp(*el, "GLcore"))
- ptr->mod_load_lst = (XF86LoadPtr)xf86addListItem(
- (glp)ptr->mod_load_lst, (glp)module);
+ ptr->mod_load_lst = (XF86LoadPtr)xf86addListItem(
+ (glp)ptr->mod_load_lst, (glp)module);
}
xfree(elist);
}
diff --git a/hw/xfree86/parser/Module.c b/hw/xfree86/parser/Module.c
index 7a5a25207..378d4acdc 100644
--- a/hw/xfree86/parser/Module.c
+++ b/hw/xfree86/parser/Module.c
@@ -92,6 +92,7 @@ xf86parseModuleSubSection (XF86LoadPtr head, char *name)
ptr->load_name = name;
ptr->load_type = XF86_LOAD_MODULE;
+ ptr->ignore = 0;
ptr->load_opt = NULL;
ptr->list.next = NULL;
@@ -229,6 +230,7 @@ xf86addNewLoadDirective (XF86LoadPtr head, char *name, int type, XF86OptionPtr o
new->load_name = name;
new->load_type = type;
new->load_opt = opts;
+ new->ignore = 0;
new->list.next = NULL;
if ((token = xf86getToken(NULL)) == COMMENT)
diff --git a/hw/xfree86/parser/xf86Parser.h b/hw/xfree86/parser/xf86Parser.h
index 71568842d..75ee27337 100644
--- a/hw/xfree86/parser/xf86Parser.h
+++ b/hw/xfree86/parser/xf86Parser.h
@@ -91,6 +91,7 @@ typedef struct
char *load_name;
XF86OptionPtr load_opt;
char *load_comment;
+ int ignore;
}
XF86LoadRec, *XF86LoadPtr;