aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2015-02-19 16:17:28 +0900
committerYAMAMOTO Mitsuharu2015-02-19 16:17:28 +0900
commit3be1a7cee98ba105d3fd4c4a762250a66d90d37b (patch)
tree4efe9c5f4e35863aeebffd15d770bbd7833fdc03 /src
parent47bca7253b8c3c7cf1fb988f42a2219701571528 (diff)
downloademacs-3be1a7cee98ba105d3fd4c4a762250a66d90d37b.tar.gz
emacs-3be1a7cee98ba105d3fd4c4a762250a66d90d37b.zip
* ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/ftcrfont.c8
2 files changed, 11 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fea9e379d73..d2cb70e2d08 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12015-02-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
4
12015-02-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 52015-02-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 6
3 * xterm.c [USE_CAIRO]: Include math.h. 7 * xterm.c [USE_CAIRO]: Include math.h.
diff --git a/src/ftcrfont.c b/src/ftcrfont.c
index d60c1202b9d..fc4e6dae873 100644
--- a/src/ftcrfont.c
+++ b/src/ftcrfont.c
@@ -246,6 +246,7 @@ ftcrfont_draw (struct glyph_string *s,
246 cairo_t *cr; 246 cairo_t *cr;
247 cairo_glyph_t *glyphs; 247 cairo_glyph_t *glyphs;
248 cairo_surface_t *surface; 248 cairo_surface_t *surface;
249 cairo_surface_type_t surface_type;
249 int len = to - from; 250 int len = to - from;
250 int i; 251 int i;
251 252
@@ -282,7 +283,12 @@ ftcrfont_draw (struct glyph_string *s,
282 FT_Activate_Size (ftcrfont_info->ft_size_draw); 283 FT_Activate_Size (ftcrfont_info->ft_size_draw);
283 cairo_show_glyphs (cr, glyphs, len); 284 cairo_show_glyphs (cr, glyphs, len);
284 surface = cairo_get_target (cr); 285 surface = cairo_get_target (cr);
285 if (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_XLIB) 286 /* XXX: It used to be necessary to flush when exporting. It might
287 be the case that this is no longer necessary. */
288 surface_type = cairo_surface_get_type (surface);
289 if (surface_type != CAIRO_SURFACE_TYPE_XLIB
290 && (surface_type != CAIRO_SURFACE_TYPE_IMAGE
291 || cairo_image_surface_get_format (surface) != CAIRO_FORMAT_ARGB32))
286 cairo_surface_flush (surface); 292 cairo_surface_flush (surface);
287 293
288 x_end_cr_clip (f); 294 x_end_cr_clip (f);