emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 2a229f4 2/3: Fix blank tooltips on cairo (Bug#36298


From: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] master 2a229f4 2/3: Fix blank tooltips on cairo (Bug#36298)
Date: Thu, 20 Jun 2019 20:33:09 -0400 (EDT)

branch: master
commit 2a229f495fe5c8be84b3c5718f87d86c8d06a644
Author: YAMAMOTO Mitsuharu <address@hidden>
Commit: YAMAMOTO Mitsuharu <address@hidden>

    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.
---
 src/xfns.c  | 4 ++++
 src/xterm.c | 2 +-
 src/xterm.h | 1 +
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/xfns.c b/src/xfns.c
index c9fe3e1..6d14fec 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -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);
diff --git a/src/xterm.c b/src/xterm.c
index 9bb0b83..38bf0a2 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -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
diff --git a/src/xterm.h b/src/xterm.h
index 2bd2c01..985648a 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -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);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]