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