xserver: Branch 'master' - 2 commits

Alan Hourihane alanh at kemper.freedesktop.org
Sat Nov 18 21:57:09 EET 2006


 dix/main.c |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

New commits:
diff-tree ca2874b273232d9f51881b1cd754ed6847bfaf47 (from parents)
Merge: c9a5f9d3911c2e6a8f81b0721c9eb914fb7719b5 e2f6dacc736527790ed8e304698678afc17f71c6
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Sat Nov 18 19:56:32 2006 +0000

    Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver

diff-tree c9a5f9d3911c2e6a8f81b0721c9eb914fb7719b5 (from acb5ff4c73ac4d52201d7c421f488e2ead5c8b9c)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Sat Nov 18 19:55:42 2006 +0000

    Shutdown input devices if FatalError occurs during startup.
    Fixes Xdmx problems when the input device has been initialized
    and the keyboard map has been destroyed.

diff --git a/dix/main.c b/dix/main.c
index 88d7755..bee5490 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -414,21 +414,27 @@ main(int argc, char *argv[], char *envp[
 		ErrorF("failed to set default font path '%s'",
 			defaultFontPath);
 	}
-	if (!SetDefaultFont(defaultTextFont))
+	if (!SetDefaultFont(defaultTextFont)) {
+	    CloseDownDevices();
 	    FatalError("could not open default font '%s'", defaultTextFont);
+	}
 #ifdef NULL_ROOT_CURSOR
         cm.width = 0;
         cm.height = 0;
         cm.xhot = 0;
         cm.yhot = 0;
 
-        if (!(rootCursor = AllocCursor(NULL, NULL, &cm, 0, 0, 0, 0, 0, 0)))
+        if (!(rootCursor = AllocCursor(NULL, NULL, &cm, 0, 0, 0, 0, 0, 0))) {
+	    CloseDownDevices();
             FatalError("could not create empty root cursor");
+	}
         AddResource(FakeClientID(0), RT_CURSOR, (pointer)rootCursor);
 #else
-	if (!(rootCursor = CreateRootCursor(defaultCursorFont, 0)))
+	if (!(rootCursor = CreateRootCursor(defaultCursorFont, 0))) {
+	    CloseDownDevices();
 	    FatalError("could not open default cursor font '%s'",
 		       defaultCursorFont);
+	}
 #endif
 #ifdef DPMSExtension
  	/* check all screens, looking for DPMS Capabilities */
@@ -452,13 +458,17 @@ main(int argc, char *argv[], char *envp[
 
 #ifdef PANORAMIX
 	if (!noPanoramiXExtension) {
-	    if (!PanoramiXCreateConnectionBlock())
+	    if (!PanoramiXCreateConnectionBlock()) {
+	    	CloseDownDevices();
 		FatalError("could not create connection block info");
+	    }
 	} else
 #endif
 	{
-	    if (!CreateConnectionBlock())
+	    if (!CreateConnectionBlock()) {
+	    	CloseDownDevices();
 	    	FatalError("could not create connection block info");
+	    }
 	}
 
 	Dispatch();



More information about the xorg-commit mailing list