diff options
-rw-r--r-- | hw/xquartz/darwinEvents.c | 4 |
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(); } |