[cairo-commit] src/cairo-xlib-surface.c

Behdad Esfahbod behdad at kemper.freedesktop.org
Sun Dec 16 22:55:31 PST 2007


 src/cairo-xlib-surface.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 9637ffc62fab1b42ceb764d1b42e70654e0cbe2b
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Mon Dec 17 01:55:15 2007 -0500

    [cairo-xlib] Minor cleanup and add comment

diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
index 39d662b..93a19fc 100644
--- a/src/cairo-xlib-surface.c
+++ b/src/cairo-xlib-surface.c
@@ -3039,7 +3039,7 @@ _cairo_xlib_surface_emit_glyphs (cairo_xlib_surface_t *dst,
 	}
 
 	/* Send unsent glyphs to the server */
-	if (scaled_glyph->surface_private == NULL) {
+	if (_cairo_xlib_scaled_glyph_get_glyphset_info (scaled_glyph) == NULL) {
 	    status = _cairo_xlib_surface_add_glyph (dst->dpy,
 		                                    scaled_font,
 						    &scaled_glyph);
@@ -3070,7 +3070,10 @@ _cairo_xlib_surface_emit_glyphs (cairo_xlib_surface_t *dst,
 	 *
 	 * Also flush if changing glyphsets, as Xrender limits one mask
 	 * format per request, so we can either break up, or use a
-	 * wide-enough mask format.  We do the former.
+	 * wide-enough mask format.  We do the former.  One reason to
+	 * prefer the latter is the fact that Xserver ADDs all glyphs
+	 * to the mask first, and then composes that to final surface,
+	 * though it's not a big deal.
 	 */
 	if (request_size + width > max_request_size - sz_xGlyphElt ||
 	    (this_glyphset_info != glyphset_info)) {


More information about the cairo-commit mailing list