Bug 58672

Summary: has_broken_send_shm_event has an uninitialize issue
Product: cairo Reporter: LE GARREC Vincent <freedesktop>
Component: xlib backendAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: 1.12.8   
Hardware: Other   
OS: All   
i915 platform: i915 features:

Description LE GARREC Vincent 2012-12-23 07:46:30 UTC
has_broken_send_shm_event has a "XShmCompletionEvent ev" variable. Before using it with XSendEvent, the properties send_event and serial are not initialize.
The problem is these two properties is using by the function event_to_wire (libXext-1.3.1, XShm.c) which is called by XSendEvent.
Comment 1 Chris Wilson 2012-12-23 11:24:09 UTC
commit 7d02e2d62d1d2d2852f256905af60f418216b9ea
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Dec 23 11:12:21 2012 +0000

    xlib/shm: Populate send_event and serial
    Hopefully this random choice is more meaningful than random junk.
    Bugzilla; https://bugs.freedesktop.org/show_bug.cgi?id=58672
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Since you don't mention what the actual problem is, whether this is just a valgrind warning, or if a kitten is killed everytime, I can't assess whether that truly fixes your issue.
Comment 2 LE GARREC Vincent 2012-12-23 11:46:14 UTC
You're right, this is just a valgrind warning.
But I reported it because the warning is real and the problem easy to solve (I think). Plus, it's working right now but who knows in the future ?
Comment 3 Chris Wilson 2012-12-23 11:57:46 UTC
The problem is very real, older versions of Xorg would crash if clients sent ev.send_event=True which is what would be expected according to the manpage. So I was wondering if you had a crashing xserver that needed to be added to the blacklist.
Comment 4 LE GARREC Vincent 2012-12-23 12:25:47 UTC
Nope. No crash.
And thanks for having solved the problem.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.