[Bug 791140] ximagesink, xvimagesink: fix incorrect type conversion of pointer position

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Dec 8 00:51:08 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=791140

Tim-Philipp Müller <t.i.m at zen.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |t.i.m at zen.co.uk
         Resolution|---                         |FIXED
   Target Milestone|git master                  |1.13.1

--- Comment #1 from Tim-Philipp Müller <t.i.m at zen.co.uk> ---
Why not, I guess:

commit 6e770e0ebbc9b36fa06a9a3a7b485ee1e8ea97e5
Author: Akinobu Mita <akinobu.mita at gmail.com>
Date:   Sun Dec 3 02:10:40 2017 +0900

    ximagesink, xvimagesink: fix incorrect type conversion of pointer position

    I'm currently playing with modified ximagesink that does XGrabPointer()
    in order to receive the mouse events occurred outside of the window and
    send them to the navigation interface.

    The pointer positions usually have positive coordinates, but it could
    be negative with that change.

    When the ximagesink handles XEvent that contains a negative pointer
    coordinate, it incorrectly generates the GstEvent that contains an
    extremely large positive pointer coordinate.

    This is because the negative pointer position in XEvent is incorrectly
    converted from signed to unsigned and passed as an argument to
    gst_navigation_send_mouse_event() which causes implicit conversion from
    integer to double.  So the pointer position in the received XEvent and
    generated GstEvent are completely different.

    This potential problem does not seem to be a real problem with unmodified
    ximagesink but there is no reason to leave it as is.  This also fixes
    xvimagesink that has the same potential problem.

    https://bugzilla.gnome.org/show_bug.cgi?id=791140

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list