From 26263eff03fef23edf13892e58826d4e5ce2a22d Mon Sep 17 00:00:00 2001 From: Ander Conselvan de Oliveira <ander@mandriva.com.br> Date: Mon, 23 Mar 2009 15:12:43 -0300 Subject: [PATCH 909/910] Revert "drop xprint remnants: InitGlobals" The Xkb compilide cache needs this. This reverts commit 255142b61eb73843b16c2afdb95aa4d1f27e4f0d. Conflicts: hw/xgl/glx/xglxinit.c hw/xgl/xglinit.c include/os.h --- dix/main.c | 1 + hw/dmx/dmxinit.c | 7 +++++++ hw/kdrive/src/kdrive.c | 2 ++ hw/vfb/InitOutput.c | 5 +++++ hw/xfree86/common/xf86Init.c | 5 +++++ hw/xnest/Args.c | 10 ++++++++++ hw/xquartz/darwin.c | 9 +++++++++ hw/xwin/InitOutput.c | 5 +++++ include/os.h | 4 ++++ mi/miinitext.c | 1 - os/utils.c | 11 +++++++++++ 11 files changed, 59 insertions(+), 1 deletions(-) diff --git a/dix/main.c b/dix/main.c index 0527621..531defb 100644 --- a/dix/main.c +++ b/dix/main.c @@ -250,6 +250,7 @@ int main(int argc, char *argv[], char *envp[]) display = "0"; + InitGlobals(); InitRegions(); CheckUserParameters(argc, argv, envp); diff --git a/hw/dmx/dmxinit.c b/hw/dmx/dmxinit.c index 5f15ba8..465496a 100644 --- a/hw/dmx/dmxinit.c +++ b/hw/dmx/dmxinit.c @@ -873,6 +873,13 @@ void OsVendorFatalError(void) { } +/** This funciton is called by InitGlobals from Xserver/os/utils.c to + * initialize any ddx specific globals at a very early point in the + * server startup. */ +void ddxInitGlobals(void) +{ +} + /** Process our command line arguments. */ int ddxProcessArgument(int argc, char *argv[], int i) { diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c index 97d167e..3169e86 100644 --- a/hw/kdrive/src/kdrive.c +++ b/hw/kdrive/src/kdrive.c @@ -1395,3 +1395,5 @@ DPMSSupported (void) } #endif +void ddxInitGlobals(void) { /* THANK YOU XPRINT */ } + diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c index 6bf6a33..e09b4b4 100644 --- a/hw/vfb/InitOutput.c +++ b/hw/vfb/InitOutput.c @@ -266,6 +266,11 @@ ddxUseMsg() #endif } +/* ddxInitGlobals - called by |InitGlobals| from os/util.c */ +void ddxInitGlobals(void) +{ +} + int ddxProcessArgument(int argc, char *argv[], int i) { diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index 0353269..621e445 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -1871,6 +1871,11 @@ ddxProcessArgument(int argc, char **argv, int i) return xf86ProcessArgument(argc, argv, i); } +/* ddxInitGlobals - called by |InitGlobals| from os/util.c */ +void ddxInitGlobals(void) +{ +} + /* * ddxUseMsg -- * Print out correct use of device dependent commandline options. diff --git a/hw/xnest/Args.c b/hw/xnest/Args.c index b95f700..209f175 100644 --- a/hw/xnest/Args.c +++ b/hw/xnest/Args.c @@ -49,6 +49,16 @@ int xnestNumScreens = 0; Bool xnestDoDirectColormaps = False; Window xnestParentWindow = 0; +/* ddxInitGlobals - called by |InitGlobals| from os/util.c */ +void ddxInitGlobals(void) +{ +#ifdef COMPOSITE + /* XXX terrible hack */ + extern Bool noCompositeExtension; + noCompositeExtension = TRUE; +#endif +} + int ddxProcessArgument (int argc, char *argv[], int i) { diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c index f016682..2532d87 100644 --- a/hw/xquartz/darwin.c +++ b/hw/xquartz/darwin.c @@ -649,6 +649,15 @@ void OsVendorInit(void) /* + * ddxInitGlobals + * Called by InitGlobals() from os/util.c. + */ +void ddxInitGlobals(void) +{ +} + + +/* * ddxProcessArgument * Process device-dependent command line args. Returns 0 if argument is * not device dependent, otherwise Count of number of elements of argv diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c index abc35b9..d215981 100644 --- a/hw/xwin/InitOutput.c +++ b/hw/xwin/InitOutput.c @@ -920,6 +920,11 @@ ddxUseMsg(void) MB_ICONINFORMATION); } +/* ddxInitGlobals - called by |InitGlobals| from os/util.c */ +void ddxInitGlobals(void) +{ +} + /* See Porting Layer Definition - p. 20 */ /* * Do any global initialization, then initialize each screen. diff --git a/include/os.h b/include/os.h index 77e9448..135820a 100644 --- a/include/os.h +++ b/include/os.h @@ -209,6 +209,8 @@ extern SIGVAL GiveUp(int /*sig*/); extern void UseMsg(void); +extern void InitGlobals(void); + extern void ProcessCommandLine(int /*argc*/, char* /*argv*/[]); extern int set_font_authorizations( @@ -396,6 +398,8 @@ extern XID GenerateAuthorization( unsigned int * /* data_length_return */, char ** /* data_return */); +extern void ddxInitGlobals(void); + extern int ddxProcessArgument(int /*argc*/, char * /*argv*/ [], int /*i*/); extern void ddxUseMsg(void); diff --git a/mi/miinitext.c b/mi/miinitext.c index 6119b39..5744c18 100644 --- a/mi/miinitext.c +++ b/mi/miinitext.c @@ -59,7 +59,6 @@ SOFTWARE. #ifdef HAVE_XNEST_CONFIG_H #include <xnest-config.h> -#undef COMPOSITE #undef DPMSExtension #endif diff --git a/os/utils.c b/os/utils.c index c41b45b..719ebbc 100644 --- a/os/utils.c +++ b/os/utils.c @@ -574,6 +574,17 @@ VerifyDisplayName(const char *d) } /* + * This function is responsible for doing initalisation of any global + * variables at an very early point of server startup (even before + * |ProcessCommandLine()|. + */ +void InitGlobals(void) +{ + ddxInitGlobals(); +} + + +/* * This function parses the command line. Handles device-independent fields * and allows ddx to handle additional fields. It is not allowed to modify * argc or any of the strings pointed to by argv. -- 1.6.2.1