Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=27845
Best Regards Alistair Leslie-Hughes
>From 58a1d8462fd3e8cd0fdeac18659f426bc0aa5c4a Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes <[email protected]> Date: Wed, 28 Sep 2011 20:17:38 +1000 Subject: [PATCH] Initialize all screens --- dix/devices.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/dix/devices.c b/dix/devices.c index 0ccf252..644e3e7 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -351,6 +351,7 @@ EnableDevice(DeviceIntPtr dev, BOOL sendevent) DeviceIntPtr other; BOOL enabled; int flags[MAXDEVICES] = {0}; + int i; for (prev = &inputInfo.off_devices; *prev && (*prev != dev); @@ -364,9 +365,13 @@ EnableDevice(DeviceIntPtr dev, BOOL sendevent) /* Sprites appear on first root window, so we can hardcode it */ if (dev->spriteInfo->spriteOwner) { - InitializeSprite(dev, screenInfo.screens[0]->root); + /* Initialize all screens */ + for(i=0; i < screenInfo.numScreens; i++) + { + InitializeSprite(dev, screenInfo.screens[i]->root); /* mode doesn't matter */ - EnterWindow(dev, screenInfo.screens[0]->root, NotifyAncestor); + EnterWindow(dev, screenInfo.screens[i]->root, NotifyAncestor); + } } else if ((other = NextFreePointerDevice()) == NULL) { -- 1.7.4.1
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
