diff options
author | marha <marha@users.sourceforge.net> | 2011-09-27 08:37:02 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-09-27 08:37:02 +0200 |
commit | 2233c44285f7e820f04abd07d6cf5eedbe32b8a3 (patch) | |
tree | 80d64c8daf68c57aaf3b6937cbd075161deaa3d2 /xorg-server/mi/mieq.c | |
parent | 95acf9816e008fa46a6c2fa2f35500deb358bb69 (diff) | |
parent | 183b7373f9919eeb5eb408f38578e01717b2cc10 (diff) | |
download | vcxsrv-2233c44285f7e820f04abd07d6cf5eedbe32b8a3.tar.gz vcxsrv-2233c44285f7e820f04abd07d6cf5eedbe32b8a3.tar.bz2 vcxsrv-2233c44285f7e820f04abd07d6cf5eedbe32b8a3.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
mesalib/src/mesa/main/version.c
xorg-server/include/globals.h
xorg-server/mi/misprite.c
xorg-server/mi/mivaltree.c
xorg-server/os/utils.c
Diffstat (limited to 'xorg-server/mi/mieq.c')
-rw-r--r-- | xorg-server/mi/mieq.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/xorg-server/mi/mieq.c b/xorg-server/mi/mieq.c index 34d2277da..7cc0e7c51 100644 --- a/xorg-server/mi/mieq.c +++ b/xorg-server/mi/mieq.c @@ -209,14 +209,29 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e) #endif } +/** + * Changes the screen reference events are being enqueued from. + * Input events are enqueued with a screen reference and dequeued and + * processed with a (potentially different) screen reference. + * This function is called whenever a new event has changed screen but is + * still logically on the previous screen as seen by the client. + * This usually happens whenever the visible cursor moves across screen + * boundaries during event generation, before the same event is processed + * and sent down the wire. + * + * @param pDev The device that triggered a screen change. + * @param pScreen The new screen events are being enqueued for. + * @param set_dequeue_screen If TRUE, pScreen is set as both enqueue screen + * and dequeue screen. + */ void -mieqSwitchScreen(DeviceIntPtr pDev, ScreenPtr pScreen, Bool fromDIX) +mieqSwitchScreen(DeviceIntPtr pDev, ScreenPtr pScreen, Bool set_dequeue_screen) { #ifdef XQUARTZ pthread_mutex_lock(&miEventQueueMutex); #endif EnqueueScreen(pDev) = pScreen; - if (fromDIX) + if (set_dequeue_screen) DequeueScreen(pDev) = pScreen; #ifdef XQUARTZ pthread_mutex_unlock(&miEventQueueMutex); |