diff options
| author | YAMAMOTO Mitsuharu | 2015-02-19 16:17:28 +0900 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2015-02-19 16:17:28 +0900 |
| commit | 3be1a7cee98ba105d3fd4c4a762250a66d90d37b (patch) | |
| tree | 4efe9c5f4e35863aeebffd15d770bbd7833fdc03 /src | |
| parent | 47bca7253b8c3c7cf1fb988f42a2219701571528 (diff) | |
| download | emacs-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/ChangeLog | 4 | ||||
| -rw-r--r-- | src/ftcrfont.c | 8 |
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 @@ | |||
| 1 | 2015-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 | |||
| 1 | 2015-02-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 5 | 2015-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); |