diff --git a/ChangeLog b/ChangeLog index 1855ce08d..d1a8c3462 100644 --- a/ChangeLog +++ b/ChangeLog @@ -31,6 +31,13 @@ Get rid of horrendous, somewhat misguided, DDX binary-compatibility glue. + * hw/xfree86/common/xf86Config.c: + * hw/xfree86/common/xf86Configure.c: + * parser/Module.c: + * parser/xf86Parser.c: + Ignore requests to load deprecated GLcore and speedo modules + (properly, this time). + 2006-05-30 Matthieu Herrb * hw/xfree86/os-support/bsd/Makefile.am: 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;