avdevice/x11grab: fix cursor drawing in multi-screen setup
authorAntonio Ospite <ao2@ao2.it>
Mon, 8 Sep 2014 11:15:19 +0000 (13:15 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 9 Sep 2014 00:22:06 +0000 (02:22 +0200)
commit69c34a6ac986e31b5286a1d566617ec25b93e6a7
tree89560114a70d1bd08950652db7a53245051db03c
parent5a8e51f661bffe5dcc7c806140f0320b544d6e9e
avdevice/x11grab: fix cursor drawing in multi-screen setup

The code uses XFixes to retrieve the cursor coordinates, but XFixes
gives no information of what screen the pointer is on; this results in
always drawing the cursor on the captured screen even if the mouse
pointer was on another screen.

For example, when capturing from screen 1 (i.e. -f x11grab -i ":0.1")
the cursor was being drawn in the captured image even when the mouse
pointer was actually on screen 0, which is wrong and visually confusing.

Use XQueryPointer to check that the pointer is actually on the screen
which is being captured.

Signed-off-by: Antonio Ospite <ao2@ao2.it>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavdevice/x11grab.c