diff options
author | Daniel Stone <daniel@fooishbar.org> | 2006-06-01 19:49:55 +0000 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2006-06-01 19:49:55 +0000 |
commit | ee689c104287140db38bbd26959ab1b4847c168e (patch) | |
tree | 28a009433aa1c9245b36096471077a842fda60fe /hw | |
parent | 07c731a2bc21e6b98f28a2c0ebc42f01b67b824b (diff) |
Ignore requests to load GLcore and speedo.
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xfree86/common/xf86Config.c | 20 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Configure.c | 6 | ||||
-rw-r--r-- | hw/xfree86/parser/Module.c | 2 | ||||
-rw-r--r-- | hw/xfree86/parser/xf86Parser.h | 1 |
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; |