Adam Jackson <a...@redhat.com> writes: > In the DRI2 path this event is magically synthesized from the > corresponding DRI2 event, but with Present, the server sends us the > event itself. The DRI2 path fills in the serial number, send_event, and > display fields of the XEvent struct that the app sees, but the Present > path did not. > > This is likely related to a class of crashes seen in gtk/clutter apps: > > https://bugzilla.redhat.com/attachment.cgi?id=1032631 > > Note that the crashing instruction is looking up the lock_fns slot in > the Display *, and %rdi (holding the Display *) is 0x1. > > Cc: mesa-sta...@lists.freedesktop.org > Signed-off-by: Adam Jackson <a...@redhat.com> > --- > src/glx/glxext.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/glx/glxext.c b/src/glx/glxext.c > index fdc24d4..dc87fb9 100644 > --- a/src/glx/glxext.c > +++ b/src/glx/glxext.c > @@ -138,6 +138,9 @@ __glXWireToEvent(Display *dpy, XEvent *event, xEvent > *wire) > if (!glxDraw) > return False; > > + aevent->serial = _XSetLastRequestRead(dpy, (xGenericReply *) wire);
In the Pbuffer path, we get serial from awire. Why's this one different? > + aevent->send_event = (awire->type & 0x80) != 0; > + aevent->display = dpy; These look good. Related: pbuffers don't seem to be setting the display, either. Doesn't have to be fixed in this patch.
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev