[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'upstream-unstable'



 configure.ac                                                         |    4 
 dix/getevents.c                                                      |   23 
 exa/exa_mixed.c                                                      |   23 
 glx/glxscreens.c                                                     |    7 
 glx/glxscreens.h                                                     |    1 
 hw/dmx/glxProxy/glxscreens.h                                         |    1 
 hw/kdrive/ephyr/ephyrdriext.c                                        |    4 
 hw/xfree86/common/xf86Config.c                                       |    3 
 hw/xfree86/common/xf86Init.c                                         |   32 
 hw/xfree86/common/xf86Option.c                                       |    2 
 hw/xfree86/common/xf86Xinput.c                                       |    1 
 hw/xquartz/GL/indirect.c                                             |   18 
 hw/xquartz/X11Application.h                                          |    3 
 hw/xquartz/X11Application.m                                          |   47 
 hw/xquartz/X11Controller.h                                           |    2 
 hw/xquartz/X11Controller.m                                           |   18 
 hw/xquartz/bundle/Makefile.am                                        |    9 
 hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings          |binary
 hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib      | 7414 ++++-----
 hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/bundle/Resources/English.lproj/locversion.plist           |   14 
 hw/xquartz/bundle/Resources/French.lproj/Localizable.strings         |binary
 hw/xquartz/bundle/Resources/French.lproj/locversion.plist            |    4 
 hw/xquartz/bundle/Resources/French.lproj/main.nib/designable.nib     |  633 
 hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects.nib   |binary
 hw/xquartz/bundle/Resources/German.lproj/Localizable.strings         |binary
 hw/xquartz/bundle/Resources/German.lproj/locversion.plist            |    4 
 hw/xquartz/bundle/Resources/German.lproj/main.nib/designable.nib     |  586 
 hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib   |binary
 hw/xquartz/bundle/Resources/Italian.lproj/Localizable.strings        |binary
 hw/xquartz/bundle/Resources/Italian.lproj/locversion.plist           |    4 
 hw/xquartz/bundle/Resources/Italian.lproj/main.nib/designable.nib    | 7417 ++++-----
 hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects.nib  |binary
 hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings       |binary
 hw/xquartz/bundle/Resources/Japanese.lproj/locversion.plist          |    4 
 hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/designable.nib   |  583 
 hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib |binary
 hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings        |binary
 hw/xquartz/bundle/Resources/Spanish.lproj/locversion.plist           |    4 
 hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/designable.nib    | 7430 ++++-----
 hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib  |binary
 hw/xquartz/bundle/Resources/ar.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/ar.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/ar.lproj/main.nib/designable.nib         |  375 
 hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/da.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/da.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/da.lproj/main.nib/designable.nib         |  652 
 hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/el.lproj/InfoPlist.strings               |binary
 hw/xquartz/bundle/Resources/el.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/el.lproj/locversion.plist                |   14 
 hw/xquartz/bundle/Resources/el.lproj/main.nib/designable.nib         | 3521 ++++
 hw/xquartz/bundle/Resources/el.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/fi.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/fi.lproj/main.nib/designable.nib         |  421 
 hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/he.lproj/InfoPlist.strings               |binary
 hw/xquartz/bundle/Resources/he.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/he.lproj/locversion.plist                |   14 
 hw/xquartz/bundle/Resources/he.lproj/main.nib/designable.nib         | 3523 ++++
 hw/xquartz/bundle/Resources/he.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/ko.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/ko.lproj/main.nib/designable.nib         | 7371 ++++-----
 hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/no.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/no.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/no.lproj/main.nib/designable.nib         |  325 
 hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/pl.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/pl.lproj/main.nib/designable.nib         | 7446 ++++------
 hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/pt.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/pt.lproj/main.nib/designable.nib         | 7417 ++++-----
 hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings          |binary
 hw/xquartz/bundle/Resources/pt_PT.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/designable.nib      |  416 
 hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/ru.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/ru.lproj/main.nib/designable.nib         | 7444 ++++-----
 hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/sk.lproj/InfoPlist.strings               |binary
 hw/xquartz/bundle/Resources/sk.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/sk.lproj/locversion.plist                |   14 
 hw/xquartz/bundle/Resources/sk.lproj/main.nib/designable.nib         | 3522 ++++
 hw/xquartz/bundle/Resources/sk.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/sv.lproj/Localizable.strings             |binary
 hw/xquartz/bundle/Resources/sv.lproj/locversion.plist                |    4 
 hw/xquartz/bundle/Resources/sv.lproj/main.nib/designable.nib         |  327 
 hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib       |binary
 hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings          |binary
 hw/xquartz/bundle/Resources/zh_CN.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/designable.nib      | 7389 +++++----
 hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings            |binary
 hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings          |binary
 hw/xquartz/bundle/Resources/zh_TW.lproj/locversion.plist             |    4 
 hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/designable.nib      |  581 
 hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects.nib    |binary
 hw/xquartz/man/Xquartz.man                                           |    3 
 hw/xquartz/xpr/dri.c                                                 |   61 
 hw/xquartz/xpr/xprFrame.c                                            |    9 
 hw/xwin/glx/indirect.c                                               |    8 
 include/input.h                                                      |    9 
 mi/mipointer.c                                                       |    2 
 randr/rrproperty.c                                                   |    2 
 113 files changed, 42898 insertions(+), 32315 deletions(-)

New commits:
commit e1e3c3ce77fdf173cf0861c61b134e23677bfdf2
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Thu Aug 18 23:49:27 2011 -0700

    configure.ac: Bump version to 1.10.4
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/configure.ac b/configure.ac
index b2bc1b3..781a6b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.10.3.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2011-08-12"
+AC_INIT([xorg-server], 1.10.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2011-08-19"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit 4597f201dfda94f45387e8c24c76240fb6b23bd7
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Fri Aug 12 15:22:35 2011 -0700

    configure.ac: Bump version to 1.10.3.902 (1.10.4 RC2)
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/configure.ac b/configure.ac
index dac526a..b2bc1b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.10.3.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2011-07-29"
+AC_INIT([xorg-server], 1.10.3.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2011-08-12"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit 02d77caa36e430909a31cb3f3093bcbdbcc272c8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 21 17:35:55 2011 +1000

    dix: only transform valuators when we need them.
    
    Unconditionally drop the valuators back into the mask when they were there
    in the first place. Otherwise, sending identical coordinates from the driver
    on a translated device causes the valuator mask to be alternatively
    overwritten with the translated value or left as-is. This leads to the
    device jumping around between the translated and the original position.
    
    The same could be achieved with a valuator_mask_unset() combination.
    
    Testcase:
    xsetwacom set "device name" MapToOutput VGA1
    Then press a button on the device, cursor jumps between the two positions.
    
    Introduced in 31737fff08ec19b394837341d5e358ec401f5cd8
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>

diff --git a/dix/getevents.c b/dix/getevents.c
index ba93818..99a751e 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1075,9 +1075,10 @@ transformAbsolute(DeviceIntPtr dev, ValuatorMask *mask)
 
     pixman_f_transform_point(&dev->transform, &p);
 
-    if (lround(p.v[0]) != dev->last.valuators[0])
+    if (valuator_mask_isset(mask, 0))
         valuator_mask_set(mask, 0, lround(p.v[0]));
-    if (lround(p.v[1]) != dev->last.valuators[1])
+
+    if (valuator_mask_isset(mask, 1))
         valuator_mask_set(mask, 1, lround(p.v[1]));
 }
 

commit 8dea7ac25a47f111a1f3779b1809cbb7d28b0584
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Aug 10 11:36:16 2011 +0200

    EXA/mixed: Update sys_pitch in MPH even when there's no system memory copy.
    
    Otherwise sys_pitch will be stale when a system memory copy is allocated.
    
    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=38322 and a crash when
    unlocking the screen with xscreensaver, reported by Janne Huttunen.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Tested-by: Janne Huttunen <jahuttun@gmail.com>
    Tested-by: Jan Kriho <Erbureth@gmail.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 4020cab88f5cf3164fc83cf912f94f288aa5a45d)

diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c
index fd1afb2..cf01b48 100644
--- a/exa/exa_mixed.c
+++ b/exa/exa_mixed.c
@@ -186,17 +186,20 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth,
         }
 
 	/* Need to re-create system copy if there's also a GPU copy */
-	if (has_gpu_copy && pExaPixmap->sys_ptr) {
-	    free(pExaPixmap->sys_ptr);
-	    pExaPixmap->sys_ptr = NULL;
-	    pExaPixmap->sys_pitch = PixmapBytePad(width, depth);
-	    DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage);
-	    DamageDestroy(pExaPixmap->pDamage);
-	    pExaPixmap->pDamage = NULL;
-	    RegionEmpty(&pExaPixmap->validSys);
+	if (has_gpu_copy) {
+	    if (pExaPixmap->sys_ptr) {
+		free(pExaPixmap->sys_ptr);
+		pExaPixmap->sys_ptr = NULL;
+		DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage);
+		DamageDestroy(pExaPixmap->pDamage);
+		pExaPixmap->pDamage = NULL;
+		RegionEmpty(&pExaPixmap->validSys);
 
-	    if (pExaScr->deferred_mixed_pixmap == pPixmap)
-		pExaScr->deferred_mixed_pixmap = NULL;
+		if (pExaScr->deferred_mixed_pixmap == pPixmap)
+		    pExaScr->deferred_mixed_pixmap = NULL;
+	    }
+
+	    pExaPixmap->sys_pitch = PixmapBytePad(width, depth);
 	}
     }
 

commit 179ab444fde028c82f163994508264b28e9f4f57
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Jul 7 19:18:03 2011 +0200

    Xephyr/dri: register screen and window privates on init
    
    Fixes assertion failure when calling dixSetPrivate
    Debian bug#632549 <http://bugs.debian.org/632549>
    
    Reported-and-tested-by: Mohammed Sameer <msameer@foolab.org>
    Signed-off-by: Julien Cristau <jcristau@debian.org>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit a1dec7cd6adabaf8770dc3b21b0df30ce2f0bc8d)

diff --git a/hw/kdrive/ephyr/ephyrdriext.c b/hw/kdrive/ephyr/ephyrdriext.c
index 6945f5b..0bd51b2 100644
--- a/hw/kdrive/ephyr/ephyrdriext.c
+++ b/hw/kdrive/ephyr/ephyrdriext.c
@@ -1394,6 +1394,10 @@ ephyrDRIExtensionInit (ScreenPtr a_screen)
         EPHYR_LOG_ERROR ("failed to register DRI extension\n") ;
         goto out ;
     }
+    if (!dixRegisterPrivateKey(&ephyrDRIScreenKeyRec, PRIVATE_SCREEN, 0))
+        goto out ;
+    if (!dixRegisterPrivateKey(&ephyrDRIWindowKeyRec, PRIVATE_WINDOW, 0))
+        goto out ;
     screen_priv = calloc(1, sizeof (EphyrDRIScreenPrivRec)) ;
     if (!screen_priv) {
         EPHYR_LOG_ERROR ("failed to allocate screen_priv\n") ;

commit fa425363e3927e86d57f42c4b6e4995d26d6bd0c
Author: Aaron Plattner <aplattner@nvidia.com>
Date:   Fri Jul 29 16:12:06 2011 -0700

    randr: Compare all the bytes in RRPostPendingProperties
    
    RRPostPendingProperties tries to compare the pending and current
    property values to decide whether they're actually changing.  However,
    it does this using a memcmp that passes in pending_value->size as the
    number of bytes.  This is actually the number of elements, where each
    element is (pending_value->format / 8) bytes long.  This causes the
    pending value to not be propagated if the first pending_value->size
    bytes are the same and only the end of it is changing.
    
    Fix this by computing the total number of bytes to compare in the
    memcmp.
    
    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>
    (cherry picked from commit 08dfff92e8d0c2b1726634392c147f6634d1706d)

diff --git a/randr/rrproperty.c b/randr/rrproperty.c
index ba04c16..61e7bb4 100644
--- a/randr/rrproperty.c
+++ b/randr/rrproperty.c
@@ -283,7 +283,7 @@ RRPostPendingProperties (RROutputPtr output)
 	    pending_value->format == current_value->format &&
 	    pending_value->size == current_value->size &&
 	    !memcmp (pending_value->data, current_value->data,
-		     pending_value->size))
+		     pending_value->size * (pending_value->format / 8)))
 	    continue;
 
 	if (RRChangeOutputProperty (output, property->propertyName,

commit 286af43f66b932af142f4299fc06791291641bf9
Author: Julien Cristau <jcristau@debian.org>
Date:   Sun Jul 31 21:14:59 2011 +0200

    Xquartz: include new localization files in the tarball
    
    Signed-off-by: Julien Cristau <jcristau@debian.org>
    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
    (cherry picked from commit e87adcc9e024982fdad974de2876b00cf974dab8)

diff --git a/hw/xquartz/bundle/Makefile.am b/hw/xquartz/bundle/Makefile.am
index 8a206cf..87f8dd6 100644
--- a/hw/xquartz/bundle/Makefile.am
+++ b/hw/xquartz/bundle/Makefile.am
@@ -40,6 +40,9 @@ EXTRA_DIST = \
 	Resources/Dutch.lproj/InfoPlist.strings \
 	Resources/Dutch.lproj/Localizable.strings \
 	Resources/Dutch.lproj/main.nib/keyedobjects.nib \
+	Resources/el.lproj/InfoPlist.strings \
+	Resources/el.lproj/Localizable.strings \
+	Resources/el.lproj/main.nib/keyedobjects.nib \
 	Resources/English.lproj/InfoPlist.strings \
 	Resources/English.lproj/Localizable.strings \
 	Resources/English.lproj/main.nib/designable.nib \
@@ -53,6 +56,9 @@ EXTRA_DIST = \
 	Resources/German.lproj/InfoPlist.strings \
 	Resources/German.lproj/Localizable.strings \
 	Resources/German.lproj/main.nib/keyedobjects.nib \
+	Resources/he.lproj/InfoPlist.strings \
+	Resources/he.lproj/Localizable.strings \
+	Resources/he.lproj/main.nib/keyedobjects.nib \
 	Resources/Italian.lproj/InfoPlist.strings \
 	Resources/Italian.lproj/Localizable.strings \
 	Resources/Italian.lproj/main.nib/keyedobjects.nib \
@@ -77,6 +83,9 @@ EXTRA_DIST = \
 	Resources/ru.lproj/InfoPlist.strings \
 	Resources/ru.lproj/Localizable.strings \
 	Resources/ru.lproj/main.nib/keyedobjects.nib \
+	Resources/sk.lproj/InfoPlist.strings \
+	Resources/sk.lproj/Localizable.strings \
+	Resources/sk.lproj/main.nib/keyedobjects.nib \
 	Resources/Spanish.lproj/InfoPlist.strings \
 	Resources/Spanish.lproj/Localizable.strings \
 	Resources/Spanish.lproj/main.nib/keyedobjects.nib \

commit 4fdc6706ca32042edcedc2f831e6f09e1660101b
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Thu Jul 21 10:33:58 2011 -0700

    XQuartz: xpr: Don't FatalError if xp_unlock_window fails
    
    We added the FatalError in 5d1d9d9ae39fab2ee2ac085f9776f82768828dc8 but
    it caused a regression http://xquartz.macosforge.org/trac/ticket/482
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
    (cherry picked from commit a1bb5062c72667b2f10b56925c61888acc89e3e4)

diff --git a/hw/xquartz/xpr/xprFrame.c b/hw/xquartz/xpr/xprFrame.c
index 15598e9..931b5c5 100644
--- a/hw/xquartz/xpr/xprFrame.c
+++ b/hw/xquartz/xpr/xprFrame.c
@@ -217,7 +217,7 @@ xprDestroyFrame(RootlessFrameID wid)
 
     err = xp_destroy_window(x_cvt_vptr_to_uint(wid));
     if (err != Success)
-        FatalError("Could not destroy window %i.", (int)x_cvt_vptr_to_uint(wid));
+        FatalError("Could not destroy window %d (%d).", (int)x_cvt_vptr_to_uint(wid), (int)err);
 }
 
 
@@ -360,7 +360,7 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow)
     
     err = xp_lock_window(x_cvt_vptr_to_uint(wid), NULL, NULL, data, rowbytes, NULL);
     if (err != Success)
-        FatalError("Could not lock window %i for drawing.", (int)x_cvt_vptr_to_uint(wid));
+        FatalError("Could not lock window %d for drawing (%d).", (int)x_cvt_vptr_to_uint(wid), (int)err);
 
     *pixelData = data[0];
     *bytesPerRow = rowbytes[0];
@@ -377,8 +377,11 @@ xprStopDrawing(RootlessFrameID wid, Bool flush)
     TA_SERVER();
     
     err = xp_unlock_window(x_cvt_vptr_to_uint(wid), flush);
+    /* This should be a FatalError, but we started tripping over it.  Make it a
+     * FatalError after http://xquartz.macosforge.org/trac/ticket/482 is fixed.
+     */
     if(err != Success)
-        FatalError("Could not unlock window %i after drawing.", (int)x_cvt_vptr_to_uint(wid));
+        ErrorF("Could not unlock window %d after drawing (%d).", (int)x_cvt_vptr_to_uint(wid), (int)err);
 }
 
 

commit d97501fffcad67cdc4709514ee98c7b7298df9dc
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Wed Jul 20 00:16:42 2011 -0700

    XQuartz: Use CFSTR to avoid implicit cast warning of NSString * to CFStringRef
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
    (cherry picked from commit c319f7b5b3ee651636cdfd165588f0dc972a22a4)

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index 8762dee..6e9de4b 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -1002,7 +1002,7 @@ void X11ApplicationMain (int argc, char **argv, char **envp) {
 
     if (app_prefs_domain_cfstr == NULL) {
         ErrorF("X11ApplicationMain: Unable to determine bundle identifier.  Your installation of XQuartz may be broken.\n");
-        app_prefs_domain_cfstr = @LAUNCHD_ID_PREFIX".X11";
+        app_prefs_domain_cfstr = CFSTR(LAUNCHD_ID_PREFIX".X11");
     }
 
     [NSApp read_defaults];

commit eeb9ce746f8d22f5e967b554e2039a6b2d87d305
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Fri Jul 29 11:03:30 2011 -0700

    configure.ac: Bump version to 1.10.3.901 (1.10.4 RC1)
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/configure.ac b/configure.ac
index 94923db..dac526a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,8 +26,8 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.10.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2011-07-08"
+AC_INIT([xorg-server], 1.10.3.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2011-07-29"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE

commit 50a7361cfcb9ef361afe77e283f4fd2a5b6214f5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 20 09:00:18 2011 +1000

    Initialize the fd to -1 for xorg.conf input devices.
    
    For hotplugged devices, xf86AllocateInput does that for us but the xorg.conf
    path is different. Since not all drivers reset the fd during PreInit but may
    still call close(pInfo->fd) in all cases, this can terminate the logging
    early.
    
    Reproducible: add a wacom driver InputDevice section with no Option Device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    (cherry picked from commit 3798dd379c1ecf325f9907128fb66d20372f6876)

diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 114bdc3..58b30dd 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1222,6 +1222,7 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
 	    devs = xnfrealloc(servlayoutp->inputs,
 			      (count + 1) * sizeof(InputInfoPtr));
             devs[count - 1] = xnfalloc(sizeof(InputInfoRec));
+            Pointer.fd = -1;
 	    *devs[count - 1] = Pointer;
 	    devs[count - 1]->options =
 				xf86addNewOption(devs[count -1]->options,
@@ -1267,6 +1268,7 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
 	    devs = xnfrealloc(servlayoutp->inputs,
 			      (count + 1) * sizeof(InputInfoPtr));
             devs[count - 1] = xnfalloc(sizeof(InputInfoRec));
+            Pointer.fd = -1;
 	    *devs[count - 1] = Pointer;
 	    devs[count - 1]->options =
 				xf86addNewOption(NULL, xnfstrdup("AlwaysCore"), NULL);
@@ -1363,6 +1365,7 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout)
 	    devs = xnfrealloc(servlayoutp->inputs,
 			      (count + 1) * sizeof(InputInfoPtr));
             devs[count - 1] = xnfalloc(sizeof(InputInfoRec));
+            Keyboard.fd = -1;
 	    *devs[count - 1] = Keyboard;
 	    devs[count - 1]->options =
 				xf86addNewOption(devs[count - 1]->options,

commit 2d94a7d8c2223243fd860bd01f6fdeff91856679
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 4 12:34:32 2011 +1000

    xfree86: NULL option values are technically valid, don't strdup them
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    (cherry picked from commit f2a6735cfc07789cca81852b24a85578f200d83d)

diff --git a/hw/xfree86/common/xf86Option.c b/hw/xfree86/common/xf86Option.c
index 480f386..a3a836f 100644
--- a/hw/xfree86/common/xf86Option.c
+++ b/hw/xfree86/common/xf86Option.c
@@ -340,7 +340,7 @@ pointer
 xf86AddNewOption(pointer head, const char *name, const char *val)
 {
     /* XXX These should actually be allocated in the parser library. */
-    char *tmp = strdup(val);
+    char *tmp = val ? strdup(val) : NULL;
     char *tmp_name = strdup(name);
 
     return xf86addNewOption(head, tmp_name, tmp);

commit f8f6783b9d4bc4106a33e43a1ddb9c0744e2c741
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 4 14:14:39 2011 +1000

    xfree86: duplicate xorg.conf device information before xf86NewInputDevice
    
    xf86ConfigLayout.inputs contains the information from the xorg.conf
    file. Passing this into xf86NewInputDevice means the device will get
    cleaned up on exit and the pointers in xf86ConfigLayout.inputs are left
    dangling. In the second server generation, this results in a server
    crash.
    
    Also, rename pDev to pInfo. pDev is pretty much reserved for DeviceIntPtr
    types.
    
    Reproducible: AutoAddDevices off and xorg.conf input sections, trigger
    server regeneration.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    (cherry picked from commit f0d7e9db28c374a3db359bcb63a7ce79fd84b541)

diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 0b36163..7d9bce9 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -791,6 +791,21 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
 				 NULL);
 }
 
+static InputInfoPtr
+duplicateDevice(InputInfoPtr pInfo)
+{
+    InputInfoPtr dup = calloc(1, sizeof(InputInfoRec));
+    if (dup) {
+        dup->name = strdup(pInfo->name);
+        dup->driver = strdup(pInfo->driver);
+        dup->options = xf86OptionListDuplicate(pInfo->options);
+        /* type_name is a const string */
+        dup->type_name = pInfo->type_name;
+        dup->fd = -1;
+    }
+    return dup;
+}
+
 /*
  * InitInput --
  *      Initialize all supported input devices.
@@ -799,7 +814,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
 void
 InitInput(int argc, char **argv)
 {
-    InputInfoPtr* pDev;
+    InputInfoPtr* pInfo;
     DeviceIntPtr dev;
 
     xf86Info.vtRequestsPending = FALSE;
@@ -809,14 +824,21 @@ InitInput(int argc, char **argv)
     GetEventList(&xf86Events);
 
     /* Initialize all configured input devices */
-    for (pDev = xf86ConfigLayout.inputs; pDev && *pDev; pDev++) {
+    for (pInfo = xf86ConfigLayout.inputs; pInfo && *pInfo; pInfo++) {
+        InputInfoPtr dup;
         /* Replace obsolete keyboard driver with kbd */
-        if (!xf86NameCmp((*pDev)->driver, "keyboard")) {
-            strcpy((*pDev)->driver, "kbd");
+        if (!xf86NameCmp((*pInfo)->driver, "keyboard")) {
+            strcpy((*pInfo)->driver, "kbd");
         }
 
+        /* Data passed into xf86NewInputDevice will be freed on shutdown.
+         * Duplicate from xf86ConfigLayout.inputs, otherwise we don't have any
+         * xorg.conf input devices in the second generation
+         */
+        dup = duplicateDevice(*pInfo);
+
         /* If one fails, the others will too */
-        if (xf86NewInputDevice(*pDev, &dev, TRUE) == BadAlloc)
+        if (xf86NewInputDevice(dup, &dev, TRUE) == BadAlloc)
             break;
     }
 

commit e6336c357251836caa4e76e305c066a363e382f6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 27 16:30:28 2011 +1000

    xfree86: Remove devices that failed to enable on startup
    
    Devices that succeeded during PreInit and DEVICE_INIT but failed in
    DEVICE_ON would be deleted through xf86DeleteInput but not removed from the
    list of input devices (and not turned off). The result was a double free on
    server shutdown.
    
    Fix this by calling RemoveDevice if EnableDevice fails.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Daniel Stone <daniel@fooishbar.org>
    (cherry picked from commit 8ffddbcf72170e246826ee0f39f18989a29fa218)

diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 2bac33a..579ee09 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -825,6 +825,7 @@ xf86NewInputDevice(InputInfoPtr pInfo, DeviceIntPtr *pdev, BOOL enable)
         {
             OsReleaseSignals();
             xf86Msg(X_ERROR, "Couldn't init device \"%s\"\n", pInfo->name);
+            RemoveDevice(dev, TRUE);
             rval = BadMatch;
             goto unwind;
         }

commit a0b8dacbc016e38c92300ed421850e11848b8454
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Tue Jul 19 23:46:10 2011 -0700

    XQuartz: Adjust BUNDLE_ID_PREFIX to LAUNCHD_ID_PREFIX for server-1.10-branch
    
    Default builds will fail due to BUNDLE_ID_PREFIX not being defined.  LAUNCHD_ID_PREFIX
    was used in 1.10.x and earlier.
    
    This was fallout from 55ef10975e2e543ff99f7a75dd65722dc96ff873.
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index d509870..8762dee 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -1002,7 +1002,7 @@ void X11ApplicationMain (int argc, char **argv, char **envp) {
 
     if (app_prefs_domain_cfstr == NULL) {
         ErrorF("X11ApplicationMain: Unable to determine bundle identifier.  Your installation of XQuartz may be broken.\n");
-        app_prefs_domain_cfstr = @BUNDLE_ID_PREFIX".X11";
+        app_prefs_domain_cfstr = @LAUNCHD_ID_PREFIX".X11";
     }
 
     [NSApp read_defaults];

commit 9b02eb8df6e991d162281e1a8d123b8ac9847d5e
Author: Jeremy Huddleston <jeremyhu@apple.com>
Date:   Tue Jul 19 20:03:48 2011 -0700

    XQuartz: Localization updates
    
    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
    (cherry picked from commit 73864a87aacbce85b520ccaa6e360b82c0e99716)

diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings
index c36905c..da1315b 100644
Binary files a/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings and b/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings differ
diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist b/hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist
index f950336..4e7cd83 100644
--- a/hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist
+++ b/hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist
@@ -3,12 +3,12 @@
 <plist version="1.0">
 <dict>
 	<key>LprojCompatibleVersion</key>
-	<string>101</string>
+	<string>106.3</string>
 	<key>LprojLocale</key>
 	<string>nl</string>
 	<key>LprojRevisionLevel</key>
 	<string>1</string>
 	<key>LprojVersion</key>
-	<string>101</string>
+	<string>106.3</string>
 </dict>
 </plist>
diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib
index 4b030d3..c19ef8e 100644
--- a/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib
+++ b/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib
@@ -1,3758 +1,3666 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
-	<data>
-		<int key="IBDocument.SystemTarget">1040</int>
-		<string key="IBDocument.SystemVersion">11A289</string>
-		<string key="IBDocument.InterfaceBuilderVersion">851</string>
-		<string key="IBDocument.AppKitVersion">1094.2</string>
-		<string key="IBDocument.HIToolboxVersion">521.00</string>
-		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
-			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
-			<string key="NS.object.0">851</string>
-		</object>
-		<array class="NSMutableArray" key="IBDocument.EditedObjectIDs"/>
-		<array key="IBDocument.PluginDependencies">
-			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-		</array>
-		<object class="NSMutableDictionary" key="IBDocument.Metadata">
-			<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
-			<integer value="1" key="NS.object.0"/>
-		</object>
-		<array class="NSMutableArray" key="IBDocument.RootObjects" id="904585544">
-			<object class="NSCustomObject" id="815810918">
-				<object class="NSMutableString" key="NSClassName">
-					<characters key="NS.bytes">NSApplication</characters>
-				</object>
-			</object>
-			<object class="NSCustomObject" id="941939442">
-				<string key="NSClassName">FirstResponder</string>
-			</object>
-			<object class="NSCustomObject" id="951368722">
-				<string key="NSClassName">NSApplication</string>
-			</object>
-			<object class="NSMenu" id="524015605">
-				<string key="NSTitle">MainMenu</string>
-				<array class="NSMutableArray" key="NSMenuItems">
-					<object class="NSMenuItem" id="365880285">
-						<reference key="NSMenu" ref="524015605"/>
-						<string key="NSTitle">X11</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<object class="NSCustomResource" key="NSOnImage" id="531645050">
-							<string key="NSClassName">NSImage</string>
-							<string key="NSResourceName">NSMenuCheckmark</string>
-						</object>
-						<object class="NSCustomResource" key="NSMixedImage" id="351811234">
-							<string key="NSClassName">NSImage</string>
-							<string key="NSResourceName">NSMenuMixedState</string>
-						</object>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="576521955">
-							<string key="NSTitle">X11</string>
-							<array class="NSMutableArray" key="NSMenuItems">
-								<object class="NSMenuItem" id="139290918">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Over X11</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="386173216">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Voorkeuren...</string>
-									<string key="NSKeyEquiv">,</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="272876017">
-									<reference key="NSMenu" ref="576521955"/>
-									<bool key="NSIsDisabled">YES</bool>
-									<bool key="NSIsSeparator">YES</bool>
-									<string key="NSTitle"/>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="32285361">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Voorzieningen</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-									<string key="NSAction">submenuAction:</string>
-									<object class="NSMenu" key="NSSubmenu" id="821388474">
-										<string key="NSTitle">Voorzieningen</string>
-										<array class="NSMutableArray" key="NSMenuItems"/>
-										<string key="NSName">_NSServicesMenu</string>
-									</object>
-								</object>
-								<object class="NSMenuItem" id="431301145">
-									<reference key="NSMenu" ref="576521955"/>
-									<bool key="NSIsDisabled">YES</bool>
-									<bool key="NSIsSeparator">YES</bool>
-									<string key="NSTitle"/>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="6876565">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Schermvullende weergave aan/uit</string>
-									<string key="NSKeyEquiv">a</string>
-									<int key="NSKeyEquivModMask">1572864</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="479677589">
-									<reference key="NSMenu" ref="576521955"/>
-									<bool key="NSIsDisabled">YES</bool>
-									<bool key="NSIsSeparator">YES</bool>
-									<string key="NSTitle"/>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="301008465">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Verberg X11</string>
-									<string key="NSKeyEquiv">h</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-									<int key="NSTag">42</int>
-								</object>
-								<object class="NSMenuItem" id="206802571">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Verberg andere</string>
-									<string key="NSKeyEquiv">h</string>
-									<int key="NSKeyEquivModMask">1572864</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="1023546148">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Toon alles</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-									<int key="NSTag">42</int>
-								</object>
-								<object class="NSMenuItem" id="848095279">
-									<reference key="NSMenu" ref="576521955"/>
-									<bool key="NSIsDisabled">YES</bool>
-									<bool key="NSIsSeparator">YES</bool>
-									<string key="NSTitle"/>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="274138642">
-									<reference key="NSMenu" ref="576521955"/>
-									<string key="NSTitle">Stop X11</string>
-									<string key="NSKeyEquiv">q</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-							</array>
-							<string key="NSName">_NSAppleMenu</string>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="868031522">
-						<reference key="NSMenu" ref="524015605"/>
-						<string key="NSTitle">Programma's</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="531645050"/>
-						<reference key="NSMixedImage" ref="351811234"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="981161348">
-							<string key="NSTitle">Programma's</string>
-							<array class="NSMutableArray" key="NSMenuItems">
-								<object class="NSMenuItem" id="390088328">
-									<reference key="NSMenu" ref="981161348"/>
-									<bool key="NSIsDisabled">YES</bool>
-									<bool key="NSIsSeparator">YES</bool>
-									<string key="NSTitle"/>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="1065386165">
-									<reference key="NSMenu" ref="981161348"/>
-									<string key="NSTitle">Pas aan...</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-							</array>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="200491363">
-						<reference key="NSMenu" ref="524015605"/>
-						<string key="NSTitle">Wijzig</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="531645050"/>
-						<reference key="NSMixedImage" ref="351811234"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="526778998">
-							<string key="NSTitle">Wijzig</string>
-							<array class="NSMutableArray" key="NSMenuItems">
-								<object class="NSMenuItem" id="185296989">
-									<reference key="NSMenu" ref="526778998"/>
-									<string key="NSTitle">Kopieer</string>
-									<string key="NSKeyEquiv">c</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-							</array>
-						</object>
-					</object>
-					<object class="NSMenuItem" id="931553638">
-						<reference key="NSMenu" ref="524015605"/>
-						<string key="NSTitle">Venster</string>
-						<string key="NSKeyEquiv"/>
-						<int key="NSKeyEquivModMask">1048576</int>
-						<int key="NSMnemonicLoc">2147483647</int>
-						<reference key="NSOnImage" ref="531645050"/>
-						<reference key="NSMixedImage" ref="351811234"/>
-						<string key="NSAction">submenuAction:</string>
-						<object class="NSMenu" key="NSSubmenu" id="96874957">
-							<string key="NSTitle">Venster</string>
-							<array class="NSMutableArray" key="NSMenuItems">
-								<object class="NSMenuItem" id="984461797">
-									<reference key="NSMenu" ref="96874957"/>
-									<string key="NSTitle">Sluit</string>
-									<string key="NSKeyEquiv">w</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="677652931">
-									<reference key="NSMenu" ref="96874957"/>
-									<string key="NSTitle">Minimaliseer</string>
-									<string key="NSKeyEquiv">m</string>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="1066447520">
-									<reference key="NSMenu" ref="96874957"/>
-									<string key="NSTitle">Vergroot/verklein</string>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>
-									<reference key="NSMixedImage" ref="351811234"/>
-								</object>
-								<object class="NSMenuItem" id="280172320">
-									<reference key="NSMenu" ref="96874957"/>
-									<bool key="NSIsDisabled">YES</bool>
-									<bool key="NSIsSeparator">YES</bool>
-									<string key="NSTitle"/>
-									<string key="NSKeyEquiv"/>
-									<int key="NSKeyEquivModMask">1048576</int>
-									<int key="NSMnemonicLoc">2147483647</int>
-									<reference key="NSOnImage" ref="531645050"/>


Reply to: