gfx/cairo/win32-canvas-glyph-position.patch
author Clint Talbert <ctalbert@mozilla.com>
Wed, 13 Jan 2010 14:44:49 -0800
changeset 37161 b5d9fbeec04ed773b9f8c23973fe0e16e301343b
parent 24334 360b4a2d0aa8fa46670fd304276cfab140bbdabf
permissions -rw-r--r--
Orange on Bd builds: Backed out changeset 745af1f3dbf5

diff --git a/gfx/cairo/cairo/src/cairo-win32-font.c b/gfx/cairo/cairo/src/cairo-win32-font.c
--- a/gfx/cairo/cairo/src/cairo-win32-font.c
+++ b/gfx/cairo/cairo/src/cairo-win32-font.c
@@ -1182,22 +1182,22 @@ _add_glyph (cairo_glyph_state_t *state,
     if (state->glyphs.num_elements > 0) {
 	int dx;
 
 	if (logical_y != state->last_y) {
 	    status = _flush_glyphs (state);
 	    if (status)
 		return status;
 	    state->start_x = logical_x;
+	} else {
+	    dx = logical_x - state->last_x;
+	    status = _cairo_array_append (&state->dx, &dx);
+	    if (status)
+		return status;
 	}
-
-	dx = logical_x - state->last_x;
-	status = _cairo_array_append (&state->dx, &dx);
-	if (status)
-	    return status;
     } else {
 	state->start_x = logical_x;
     }
 
     state->last_x = logical_x;
     state->last_y = logical_y;
 
     status = _cairo_array_append (&state->glyphs, &glyph_index);