]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix blank tooltips on cairo (Bug#36298)
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 21 Jun 2019 00:25:47 +0000 (09:25 +0900)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 21 Jun 2019 00:25:47 +0000 (09:25 +0900)
* 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.

src/xfns.c
src/xterm.c
src/xterm.h

index c9fe3e11f2d117fb8fb07f5ca2c5457fae1eb9fb..6d14fecde15629dd9fb8e1f4e9f1f15accb17146 100644 (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);
index 9bb0b83916c47f1e4194f492b759f8748a176082..38bf0a224d42db54c9bfab2d5a75d2d75630d983 100644 (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
index 2bd2c0105f6863e2a4a3708881cb12a60adb3052..985648a1d981c8ab97aef0d836cb6482d426dba1 100644 (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);