Fix blank tooltips on cairo (Bug#36298)

* src/xterm.h (x_cr_update_surface_desired_size) [USE_CAIRO]: Add extern.
* src/xterm.c (x_cr_update_surface_desired_size) [USE_CAIRO]: Make non-static.
* src/xfns.c (Fx_show_tip) [USE_CAIRO]: Call x_cr_update_surface_desired_size.
This commit is contained in:
YAMAMOTO Mitsuharu 2019-06-21 09:25:47 +09:00
parent 2da3305c3c
commit 2a229f495f
3 changed files with 6 additions and 1 deletions

View file

@ -6956,6 +6956,10 @@ Text larger than the specified size is clipped. */)
XMapRaised (FRAME_X_DISPLAY (tip_f), FRAME_X_WINDOW (tip_f));
unblock_input ();
#ifdef USE_CAIRO
x_cr_update_surface_desired_size (tip_f, width, height);
#endif /* USE_CAIRO */
w->must_be_updated_p = true;
update_single_window (w);
set_buffer_internal_1 (old_buffer);

View file

@ -345,7 +345,7 @@ x_cr_destroy_frame_context (struct frame *f)
}
}
static void
void
x_cr_update_surface_desired_size (struct frame *f, int width, int height)
{
if (FRAME_CR_SURFACE_DESIRED_WIDTH (f) != width

View file

@ -1109,6 +1109,7 @@ extern int x_dispatch_event (XEvent *, Display *);
extern int x_x_to_emacs_modifiers (struct x_display_info *, int);
#ifdef USE_CAIRO
extern void x_cr_destroy_frame_context (struct frame *);
extern void x_cr_update_surface_desired_size (struct frame *, int, int);
extern cairo_t *x_begin_cr_clip (struct frame *, GC);
extern void x_end_cr_clip (struct frame *);
extern void x_set_cr_source_with_gc_foreground (struct frame *, GC);