debian/control
author Ryan C. Gordon
Mon, 21 Aug 2017 00:42:06 -0400
changeset 11334 749cb40916f2
parent 10807 3d7cae208a0c
child 11365 a9bd2625fa01
permissions -rw-r--r--
x11: specify event mask for buttons when grabbing pointer (thanks, Stas!).

This fixes a strange corner case (notes appended below), and should be
safe to do anyhow.

Fixes Bugzilla #3674.

"I did more tests.
It appears the bug only happens if there is
another window on the screen that has "always
on top" property. For me it is xawtv - it is
always opened in a screen corner. Closing
xawtv or removing "always on top" property
from it makes the problem to go away.
Plus, it doesn't appear like the buttons are
not delivered at all. It appears that instead
the button presses are delivered on some mouse
positions, but not delivered when you move the
mouse to other part of the window... So this is
really weird and is likely somewhere deep in the
Xorg.
Maybe somehow it happens that the cursor is
actually above the xawtv window, but, because
my app uses grab, it is not visible there, and
in that case the events are not delivered to
my app?
But with my patch the button events are
always delivered flawlessly, it seems.

Hmm, and that indeed seems to explain my problem:
if the mask is set properly and my app uses
grab, then, even if the mouse is above some
other window, the events would still be delivered
to the grabbing app, which is what actually wanted
because my app uses relative mouse mode, so it
doesn't know the pointer can cross some other window
(my app draws the pointer itself).
So my current theory is that my patch only enforces
the mouse grab, which otherwise can be tricked by
some other window preventing the button events
delivery (but motion events are still delivered
via xinput2, which makes it all look very obscure)."
slouken@6893
     1
Source: libsdl2
slouken@6886
     2
Priority: optional
slouken@6886
     3
Section: libs
slouken@6886
     4
Maintainer: Debian SDL packages maintainers <pkg-sdl-maintainers@lists.alioth.debian.org>
slouken@6886
     5
Uploaders: Barry deFreese <bdefreese@debian.org>,
slouken@6886
     6
           Sam Hocevar <sho@debian.org>,
slouken@6886
     7
           Manuel A. Fernandez Montecelo <manuel.montezelo@gmail.com>,
slouken@6886
     8
           Felix Geyer <fgeyer@debian.org>,
slouken@6886
     9
           Sam Lantinga <slouken@libsdl.org>
slouken@6886
    10
Standards-Version: 3.9.3
slouken@6886
    11
Build-Depends: debhelper (>= 9),
slouken@6894
    12
               dh-autoreconf,
slouken@6886
    13
               dpkg-dev (>= 1.16.1~),
slouken@10658
    14
               fcitx-libs-dev [linux-any],
slouken@6886
    15
               libasound2-dev [linux-any],
slouken@6886
    16
               libgl1-mesa-dev,
slouken@6886
    17
               libpulse-dev,
slouken@6886
    18
               libudev-dev [linux-any],
slouken@6889
    19
               libdbus-1-dev [linux-any],
slouken@8895
    20
               libibus-1.0-dev[linux-any],
slouken@6886
    21
               libusb2-dev [kfreebsd-any],
slouken@6886
    22
               libusbhid-dev [kfreebsd-any],
slouken@6886
    23
               libx11-dev,
slouken@6886
    24
               libxcursor-dev,
slouken@6886
    25
               libxext-dev,
slouken@6886
    26
               libxi-dev,
slouken@6886
    27
               libxinerama-dev,
slouken@6886
    28
               libxrandr-dev,
slouken@6886
    29
               libxss-dev,
slouken@6886
    30
               libxxf86vm-dev
slouken@6886
    31
Homepage: http://www.libsdl.org/
slouken@6886
    32
slouken@6886
    33
Package: libsdl2
slouken@6886
    34
Architecture: any
slouken@6894
    35
Multi-Arch: same
slouken@6886
    36
Pre-Depends: ${misc:Pre-Depends}
slouken@6886
    37
Depends: ${misc:Depends},
slouken@6886
    38
         ${shlibs:Depends},
slouken@6886
    39
         libudev0 [linux-any],
slouken@6889
    40
         libdbus-1-3 [linux-any]
slouken@6886
    41
Conflicts: libsdl-1.3-0
slouken@6886
    42
Replaces: libsdl-1.3-0
slouken@6886
    43
Description: Simple DirectMedia Layer
slouken@6886
    44
 SDL is a library that allows programs portable low level access to
slouken@6886
    45
 a video framebuffer, audio output, mouse, and keyboard.
slouken@6886
    46
 .
slouken@6894
    47
 This package contains the shared library, compiled with X11 graphics drivers and OSS, ALSA and PulseAudio sound drivers.
slouken@6886
    48
slouken@6886
    49
Package: libsdl2-dev
slouken@6894
    50
Section: libdevel
slouken@6886
    51
Architecture: any
slouken@6894
    52
Multi-Arch: same
slouken@6886
    53
Depends: ${misc:Depends},
slouken@6894
    54
         libsdl2 (= ${binary:Version}),
slouken@6886
    55
         libc6-dev,
slouken@6894
    56
         libgl1-mesa-dev
slouken@6886
    57
Conflicts: libsdl-1.3-dev
slouken@6886
    58
Replaces: libsdl-1.3-dev
slouken@6886
    59
Description: Simple DirectMedia Layer development files
slouken@6886
    60
 SDL is a library that allows programs portable low level access to a video
slouken@6886
    61
 framebuffer, audio output, mouse, and keyboard.
slouken@6886
    62
 .
slouken@6894
    63
 This package contains files needed if you wish to use the SDL library in your own programs.
slouken@6886
    64
slouken@6886
    65
Package: libsdl2-dbg
slouken@6894
    66
Priority: extra
slouken@6894
    67
Section: debug
slouken@6886
    68
Architecture: any
slouken@6886
    69
Multi-Arch: same
slouken@6886
    70
Depends: ${misc:Depends},
slouken@6886
    71
         libsdl2 (= ${binary:Version}),
slouken@6886
    72
Description: Simple DirectMedia Layer debug files
slouken@6886
    73
 SDL is a library that allows programs portable low level access to a video
slouken@6886
    74
 framebuffer, audio output, mouse, and keyboard.
slouken@6886
    75
 .
slouken@6886
    76
 This package contains the debug symbols for the SDL library.