[Xquartz-changes] xserver: Branch 'master' - 3 commits
Jeremy Huddleston
jeremyhu at freedesktop.org
Sun Aug 14 17:45:45 PDT 2011
exa/exa_mixed.c | 23 +++++++++++++----------
hw/kdrive/ephyr/ephyrdriext.c | 4 ++++
hw/xquartz/darwin.c | 4 ++--
3 files changed, 19 insertions(+), 12 deletions(-)
New commits:
commit ff10911559bff3a77d9b427bb01d5ed549adf49e
Author: Pelle Johansson <pelle at morth.org>
Date: Sun Aug 14 17:44:40 2011 -0700
XQuartz: Initialize darwin pointer valuators
This fixes a regression introduced by: 633b81e8ba09cc6a1ea8b43f323874fda2cf0bde
Signed-off-by: Pelle Johansson <pelle at morth.org>
Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c
index f19d7bf..b483000 100644
--- a/hw/xquartz/darwin.c
+++ b/hw/xquartz/darwin.c
@@ -322,8 +322,8 @@ static int DarwinMouseProc(DeviceIntPtr pPointer, int what) {
(PtrCtrlProcPtr)NoopDDA,
GetMotionHistorySize(), NAXES,
axes_labels);
-// InitValuatorAxisStruct(pPointer, 0, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
-// InitValuatorAxisStruct(pPointer, 1, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1, Absolute);
+ InitValuatorAxisStruct(pPointer, 0, axes_labels[0], NO_AXIS_LIMITS, NO_AXIS_LIMITS, 0, 0, 0, Absolute);
+ InitValuatorAxisStruct(pPointer, 1, axes_labels[1], NO_AXIS_LIMITS, NO_AXIS_LIMITS, 0, 0, 0, Absolute);
break;
case DEVICE_ON:
pPointer->public.on = TRUE;
commit 4020cab88f5cf3164fc83cf912f94f288aa5a45d
Author: Michel Dänzer <michel.daenzer at 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 at amd.com>
Tested-by: Janne Huttunen <jahuttun at gmail.com>
Tested-by: Jan Kriho <Erbureth at gmail.com>
Signed-off-by: Keith Packard <keithp at keithp.com>
diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c
index 58645ae..0b1a4a4 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 a1dec7cd6adabaf8770dc3b21b0df30ce2f0bc8d
Author: Julien Cristau <jcristau at 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 at foolab.org>
Signed-off-by: Julien Cristau <jcristau at debian.org>
Reviewed-by: Daniel Stone <daniel at fooishbar.org>
Signed-off-by: Keith Packard <keithp at keithp.com>
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") ;
More information about the Xquartz-changes
mailing list