summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@freedesktop.org>2009-07-25 15:22:01 -0700
committerJeremy Huddleston <jeremyhu@freedesktop.org>2009-07-25 15:25:17 -0700
commit09b024db636f5a306c9cec3806fffde9acd3c408 (patch)
tree75920c531e03d831579cb27fc2254b17720ca828
parent795de791cf18c658421d701af645718493eac51e (diff)
XQuartz: Use the master device in DarwinSendDDXEvent to avoid duplicate events.
(cherry picked from commit 6fa62192af937aa9656f64b516050bc099231c7a)
-rw-r--r--hw/xquartz/darwinEvents.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
index 54d05fb63..1e285cd20 100644
--- a/hw/xquartz/darwinEvents.c
+++ b/hw/xquartz/darwinEvents.c
@@ -571,6 +571,7 @@ void DarwinSendDDXEvent(int type, int argc, ...) {
INT32 *argv;
int i, max_args;
va_list args;
+ DeviceIntPtr pDev;
memset(&xe, 0, sizeof(xe));
xe.u.u.type = type;
@@ -586,8 +587,9 @@ void DarwinSendDDXEvent(int type, int argc, ...) {
va_end (args);
}
+ pDev = (!darwinPointer->isMaster && darwinPointer->u.master) ? darwinPointer->u.master : darwinPointer;
darwinEvents_lock(); {
- mieqEnqueue(darwinPointer, &xe);
+ mieqEnqueue(pDev, &xe);
DarwinPokeEQ();
} darwinEvents_unlock();
}