fixing cairo text drawing bug (patch from cairo trunk)

This commit is contained in:
pavlov%pavlov.net 2006-01-13 18:21:00 +00:00
Родитель c3ce0d8eb0
Коммит 1e2e1338cb
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -894,19 +894,21 @@ _flush_glyphs (cairo_glyph_state_t *state)
cairo_status_t status; cairo_status_t status;
int dx = 0; int dx = 0;
WCHAR * elements; WCHAR * elements;
int * dx_elements;
status = _cairo_array_append (&state->dx, &dx); status = _cairo_array_append (&state->dx, &dx);
if (status) if (status)
return status; return status;
elements = _cairo_array_index (&state->glyphs, 0); elements = _cairo_array_index (&state->glyphs, 0);
dx_elements = _cairo_array_index (&state->dx, 0);
if (!ExtTextOutW (state->hdc, if (!ExtTextOutW (state->hdc,
state->start_x, state->last_y, state->start_x, state->last_y,
ETO_GLYPH_INDEX, ETO_GLYPH_INDEX,
NULL, NULL,
elements, elements,
state->glyphs.num_elements, state->glyphs.num_elements,
(int *)state->dx.elements)) { dx_elements)) {
return _cairo_win32_print_gdi_error ("_flush_glyphs"); return _cairo_win32_print_gdi_error ("_flush_glyphs");
} }