}
else
pango_renderer_set_matrix (renderer, NULL);
-
+
pango_renderer_draw_layout (renderer, layout, x * PANGO_SCALE, y * PANGO_SCALE);
release_renderer (renderer);
/* Note that get_x_ranges returns layout coordinates
*/
- pango_layout_line_get_x_ranges (line,
- index_ranges[i*2],
- index_ranges[i*2+1],
- &pixel_ranges, &n_pixel_ranges);
+ if (index_ranges[i*2+1] >= line->start_index &&
+ index_ranges[i*2] < line->start_index + line->length)
+ pango_layout_line_get_x_ranges (line,
+ index_ranges[i*2],
+ index_ranges[i*2+1],
+ &pixel_ranges, &n_pixel_ranges);
- for (j=0; j < n_pixel_ranges; j++)
+ for (j = 0; j < n_pixel_ranges; j++)
{
GdkRectangle rect;