Sophie

Sophie

distrib > Mandriva > 2009.1 > i586 > media > main-release-src > by-pkgid > ed850f9ceda4826f28781585a4806f28 > files > 22

x11-server-1.6.1-1mdv2009.1.src.rpm

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