diff options
author | Egbert Eich <eich@suse.de> | 2004-03-05 13:40:19 +0000 |
---|---|---|
committer | Egbert Eich <eich@suse.de> | 2004-03-05 13:40:19 +0000 |
commit | 397653e558b5fa4936ee6c9ac1eb6acaa9cf1cbc (patch) | |
tree | 5988c3f829963dfa7315e626c4d0e72e85d76e09 /src/atimisc.c | |
parent | 42cbea1d05a9e44b0d560da29bff19711ebb8a94 (diff) |
23. Merged with XFree86 4.4.0. Added changes that went into infected files.XORG-CURRENT-premerge-release-1XACE-SELINUX-BASEDAMAGE-XFIXES-BASEDAMAGE-XFIXES
Reverted darwin/bundle/**/Credits.rtf to XFree86 versions to avoid
future conflicts on ASCII but not humal readable files. (There should
probably be separate CreditsXorg.rtf files) (Egbert Eich).
Diffstat (limited to 'src/atimisc.c')
-rw-r--r-- | src/atimisc.c | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/src/atimisc.c b/src/atimisc.c index 9219fd7d..53c97b5e 100644 --- a/src/atimisc.c +++ b/src/atimisc.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atimisc.c,v 1.8 2004/01/05 16:42:03 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atimisc.c,v 1.8tsi Exp $ */ /* * Copyright 2000 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org * @@ -62,8 +62,38 @@ ATISetup if (!Inited) { /* Ensure main driver module is loaded, but not as a submodule */ - if (!xf86ServerIsOnlyDetecting() && !LoaderSymbol(ATI_NAME)) - xf86LoadOneModule(ATI_DRIVER_NAME, Options); + if (!xf86ServerIsOnlyDetecting()) + { + if (!LoaderSymbol(ATI_NAME)) + xf86LoadOneModule(ATI_DRIVER_NAME, Options); + + /* ati & atimisc module versions must match */ + do + { + XF86ModuleData *pModuleData = LoaderSymbol("atiModuleData"); + + if (pModuleData) + { + XF86ModuleVersionInfo *pModuleInfo = pModuleData->vers; + + if ((pModuleInfo->majorversion == ATI_VERSION_MAJOR) && + (pModuleInfo->minorversion == ATI_VERSION_MINOR) && + (pModuleInfo->patchlevel == ATI_VERSION_PATCH)) + break; + } + + xf86Msg(X_ERROR, + "\"ati\" and \"atimisc\" module versions must" + " match.\n"); + + if (ErrorMajor) + *ErrorMajor = (int)LDR_MISMATCH; + if (ErrorMinor) + *ErrorMinor = (int)LDR_MISMATCH; + + return NULL; + } while (0); + } /* * Tell loader about symbols from other modules that this module might |