Re: Firefox failure with cairo 1.12.6 on NetBSD-current amd64

Martin Husemann <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On Thu, Oct 25, 2012 at 09:59:26AM +0100, Chris Wilson wrote:
> Can you please take a look at src/cairo-xlib-surface-shm.c,
> xorg_has_buggy_send_shm_completion_event() and add a necessary clause to
> detect your XServer? Or attach your xdpyifo?

Thanks for quick reply and pointer to easy solution - I mixed it with the
bzero Thomas just reported (haven't tried individually yet), and sure enough
this makes it work again.

Our server identifies as:

version number:    11.0
vendor string:    The Xorg Foundation
vendor release number:    11003000


Martin

-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
patch (text/plain, 867 B)
--- src/cairo-xlib-surface-shm.c.orig	2012-10-21 10:13:41.000000000 +0200
+++ src/cairo-xlib-surface-shm.c	2012-10-25 21:11:57.000000000 +0200
@@ -1021,6 +1021,7 @@ _cairo_xlib_shm_surface_mark_active (cai
     cairo_xlib_display_t *display = (cairo_xlib_display_t *) _shm->device;
     XShmCompletionEvent ev;
 
+    bzero(&ev, sizeof(ev));
     ev.type = display->shm->event;
     ev.drawable = display->shm->window;
     ev.major_code = display->shm->opcode;
@@ -1141,7 +1142,8 @@ xorg_has_buggy_send_shm_completion_event
      *
      * Remove the SendEvent bit (0x80) before doing range checks on event type.
      */
-    return (strstr (ServerVendor (dpy), "X.Org") != NULL &&
+    return ((strstr (ServerVendor (dpy), "X.Org") != NULL ||
+    		strstr (ServerVendor (dpy), "Xorg") != NULL ) &&
 	    VendorRelease (dpy) < XORG_VERSION_ENCODE(1,11,0,1));
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.