summaryrefslogtreecommitdiff
path: root/randr/rrpointer.c
diff options
context:
space:
mode:
authorPaulo Ricardo Zanoni <prz05@c3sl.ufpr.br>2007-04-26 15:58:50 +0930
committerPeter Hutterer <peter@cs.unisa.edu.au>2007-04-26 15:58:50 +0930
commit82f97e1c0cc15b050edc82a8f3b9a423d6cf5fe7 (patch)
tree6f9c7205f391c65ef8076736abc3cb135ce19d88 /randr/rrpointer.c
parentd61ed6c8a2823a3532439d5cb9f355129c93f523 (diff)
Enable event delivery for multiple heads.
Requires moving the spriteTrace into the DeviceIntRec and adjusting a few functions to take in device argument, most notably XYToWindow(). Cursor rendering on the second screen is busted.
Diffstat (limited to 'randr/rrpointer.c')
-rw-r--r--randr/rrpointer.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/randr/rrpointer.c b/randr/rrpointer.c
index fec5d45bf..722b22c99 100644
--- a/randr/rrpointer.c
+++ b/randr/rrpointer.c
@@ -135,10 +135,16 @@ RRPointerMoved (ScreenPtr pScreen, int x, int y)
void
RRPointerScreenConfigured (ScreenPtr pScreen)
{
- WindowPtr pRoot = GetCurrentRootWindow ();
+ WindowPtr pRoot = GetCurrentRootWindow (inputInfo.pointer);
ScreenPtr pCurrentScreen = pRoot ? pRoot->drawable.pScreen : NULL;
int x, y;
+ /* XXX: GetCurrentRootWindow revices an argument, It is inputInfo.pointer,
+ * but I really think this is wrong... What do we do here? This was made so
+ * that it can compile, but I don't think randr should assume there is just
+ * one pointer. There might be more than one pointer on the screen! So, what
+ * to do? What happens? */
+
if (pScreen != pCurrentScreen)
return;
GetSpritePosition(inputInfo.pointer, &x, &y);