xserver: Branch 'xorg-server-1.4-apple' - 5 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Tue Jun 10 10:50:22 PDT 2008


 Xi/exevents.c                         |   11 ++++++++---
 configure.ac                          |    2 +-
 hw/xquartz/Makefile.am                |    3 +--
 hw/xquartz/mach-startup/Makefile.am   |    3 +--
 hw/xquartz/mach-startup/bundle-main.c |   28 ----------------------------
 hw/xquartz/mach-startup/stub.c        |   11 -----------
 6 files changed, 11 insertions(+), 47 deletions(-)

New commits:
commit 871ebd95fc903ca91c8e3c46018183c031d29dd4
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Tue Jun 10 10:50:18 2008 -0700

    1.4.1-apple1
    
    Something slightly perfecter

diff --git a/configure.ac b/configure.ac
index dda25bc..96fba48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.4.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.4.1-apple1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
commit 78e98f9cc410242cd024613c70e2c7bc9a9fe9bf
Merge: a9ee6b0... 43285b4...
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Tue Jun 10 10:49:06 2008 -0700

    Merge commit 'origin/server-1.4-branch' into xorg-server-1.4-apple

commit a9ee6b0d00fab01a78408a85e6542e88c19fda7c
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Tue Jun 10 10:47:37 2008 -0700

    XQuartz: Removed code path for old startup

diff --git a/hw/xquartz/Makefile.am b/hw/xquartz/Makefile.am
index eb2ebb0..be9ad1c 100644
--- a/hw/xquartz/Makefile.am
+++ b/hw/xquartz/Makefile.am
@@ -7,8 +7,7 @@ AM_CPPFLAGS = \
 	-DINXQUARTZ \
 	-DUSE_NEW_CLUT \
 	-DXFree86Server \
-	-I$(top_srcdir)/miext/rootless \
-	-DNEW_LAUNCH_METHOD
+	-I$(top_srcdir)/miext/rootless
 
 SUBDIRS = bundle . GL xpr mach-startup doc
 
diff --git a/hw/xquartz/mach-startup/Makefile.am b/hw/xquartz/mach-startup/Makefile.am
index 59018a9..2da3062 100644
--- a/hw/xquartz/mach-startup/Makefile.am
+++ b/hw/xquartz/mach-startup/Makefile.am
@@ -1,7 +1,6 @@
 AM_CPPFLAGS = \
 	-DBUILD_DATE=\"$(BUILD_DATE)\" \
-	-DXSERVER_VERSION=\"$(VERSION)\" \
-	-DNEW_LAUNCH_METHOD -DNEW_LAUNCH_METHOD_2
+	-DXSERVER_VERSION=\"$(VERSION)\"
 
 x11appdir = $(APPLE_APPLICATIONS_DIR)/X11.app/Contents/MacOS
 x11app_PROGRAMS = X11
diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
index d7b6c37..d2bc9d3 100644
--- a/hw/xquartz/mach-startup/bundle-main.c
+++ b/hw/xquartz/mach-startup/bundle-main.c
@@ -78,7 +78,6 @@ static pthread_t create_thread(void *func, void *arg) {
     return tid;
 }
 
-#ifdef NEW_LAUNCH_METHOD
 /*** Mach-O IPC Stuffs ***/
 
 union MaxMsgSize {
@@ -278,25 +277,13 @@ kern_return_t do_start_x11_server(mach_port_t port, string_array_t argv,
 }
 
 int startup_trigger(int argc, char **argv, char **envp) {
-#else
-void *add_launchd_display_thread(void *data);
-    
-int main(int argc, char **argv, char **envp) {
-#endif
     Display *display;
     const char *s;
     
     size_t i;
-#ifndef NEW_LAUNCH_METHOD
-    fprintf(stderr, "X11.app: main(): argc=%d\n", argc);
-    for(i=0; i < argc; i++) {
-        fprintf(stderr, "\targv[%u] = %s\n", (unsigned)i, argv[i]);
-    }
-#endif
     
     /* Take care of the case where we're called like a normal DDX */
     if(argc > 1 && argv[1][0] == ':') {
-#ifdef NEW_LAUNCH_METHOD
         kern_return_t kr;
         mach_port_t mp;
         string_array_t newenvp;
@@ -336,10 +323,6 @@ int main(int argc, char **argv, char **envp) {
             exit(EXIT_FAILURE);
         }
         exit(EXIT_SUCCESS);
-#else
-        create_thread(add_launchd_display_thread, NULL);
-        return server_main(argc, argv, envp);
-#endif
     }
 
     /* If we have a process serial number and it's our only arg, act as if
@@ -369,7 +352,6 @@ int main(int argc, char **argv, char **envp) {
     return execute(command_from_prefs("startx_script", DEFAULT_STARTX));
 }
 
-#ifdef NEW_LAUNCH_METHOD
 /*** Main ***/
 int main(int argc, char **argv, char **envp) {
     Bool listenOnly = FALSE;
@@ -411,16 +393,6 @@ int main(int argc, char **argv, char **envp) {
     
     return EXIT_SUCCESS;
 }
-#else
-void *add_launchd_display_thread(void *data) {
-    /* Start listening on the launchd fd */
-    int launchd_fd = launchd_display_fd();
-    if(launchd_fd != -1) {
-        DarwinListenOnOpenFD(launchd_fd);
-    }
-    return NULL;
-}
-#endif
     
 static int execute(const char *command) {
     const char *newargv[7];
diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
index 7d98752..d7b248b 100644
--- a/hw/xquartz/mach-startup/stub.c
+++ b/hw/xquartz/mach-startup/stub.c
@@ -113,7 +113,6 @@ static void set_x11_path() {
     }
 }
 
-#ifdef NEW_LAUNCH_METHOD
 static int create_socket(char *filename_out) {
     struct sockaddr_un servaddr_un;
     struct sockaddr *servaddr;
@@ -201,10 +200,8 @@ static void send_fd_handoff(int handoff_fd, int launchd_fd) {
     close(connected_fd);
     fprintf(stderr, "send %d %d %d %s\n", handoff_fd, launchd_fd, errno, strerror(errno));
 }
-#endif
 
 int main(int argc, char **argv, char **envp) {
-#ifdef NEW_LAUNCH_METHOD
     int envpc;
     kern_return_t kr;
     mach_port_t mp;
@@ -213,7 +210,6 @@ int main(int argc, char **argv, char **envp) {
     size_t i;
     int launchd_fd;
     string_t handoff_socket_filename;
-#endif
     sig_t handler;
 
     if(argc == 2 && !strcmp(argv[1], "-version")) {
@@ -232,7 +228,6 @@ int main(int argc, char **argv, char **envp) {
         kill(getppid(), SIGUSR1);
     signal(SIGUSR1, handler);
     
-#ifdef NEW_LAUNCH_METHOD
     /* Get the $DISPLAY FD */
     launchd_fd = launchd_display_fd();
 
@@ -313,10 +308,4 @@ int main(int argc, char **argv, char **envp) {
         return EXIT_FAILURE;
     }
     return EXIT_SUCCESS;
-    
-#else
-    set_x11_path();
-    argv[0] = x11_path;
-    return execvp(x11_path, argv);
-#endif
 }
commit 43285b4f72a0eb47aa0c33e4e41cd10434969991
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Tue Jun 10 18:36:38 2008 +0300

    Bump to 1.4.1
    
    Whatever.  It doesn't have to be perfect.

diff --git a/configure.ac b/configure.ac
index 6145aa2..c64117f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.4.0.90, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.4.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
commit 4d59afd613cd7e82255fc83e921300f6bd3a7552
Author: Daniel Stone <daniel at fooishbar.org>
Date:   Tue Jun 10 18:33:57 2008 +0300

    Xi: event_{x,y} should refer to the extended device (bug #16289)
    
    ProcessOtherEvents was unconditionally stomping the root_{x,y}
    co-ordinates provided by GetPointerEvents with those of the core
    pointer, meaning that both root_{x,y} and event_{x,y} reported to
    clients would reflect the sprite's position, not the position reported
    by the device that generated the DeviceMotionNotify or the
    DeviceButton{Press,Release} event in the first place.
    
    For key events we still take the sprite's co-ords, as we're delivering
    to the focus, which is the (VCP) sprite.
    
    Not cherry-picked from master as MPX fixes this anyway, by taking the
    co-ords of the sprite the device moves (be it visible or no).
    (cherry picked from commit 8259d19f7155d82197ecc2aa16b316376c2dcb12)

diff --git a/Xi/exevents.c b/Xi/exevents.c
index 7cf0c50..0de5ea8 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -123,9 +123,14 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr other, int count)
     deviceValuator *xV = (deviceValuator *) xE;
 
     if (xE->u.u.type != DeviceValuator) {
-	GetSpritePosition(&rootX, &rootY);
-	xE->u.keyButtonPointer.rootX = rootX;
-	xE->u.keyButtonPointer.rootY = rootY;
+        /* Other types already have root{X,Y} filled in. */
+        if (xE->u.u.type == DeviceKeyPress ||
+            xE->u.u.type == DeviceKeyRelease) {
+	    GetSpritePosition(&rootX, &rootY);
+	    xE->u.keyButtonPointer.rootX = rootX;
+	    xE->u.keyButtonPointer.rootY = rootY;
+        }
+
 	key = xE->u.u.detail;
 	NoticeEventTime(xE);
 	xE->u.keyButtonPointer.state = inputInfo.keyboard->key->state |


More information about the xorg-commit mailing list