Subject: bug#34819: 26.1; Blank help-echo tooltips for mode line menus

From: YAMAMOTO Mitsuharu <[email-masked]>
Date: Thu, 20 Jun 2019 14:01:54 +0900

The contents of the tooltip seems to be usually shown by the
flush_dirty_back_buffers call from handle_one_xevent.  But the control
does not go back to read_socket_hook during menu tracking, so
flush_dirty_back_buffers is not called in such a case.

The patch below would work.  The first hunk is not directly related to
this bug, but would be preferable.  Note that cairo drawing needs
further fixes, so please try it without enabling cairo.

				     YAMAMOTO Mitsuharu
				[email-masked]

diff --git a/src/xfns.c b/src/xfns.c
index c9fe3e11f2d..fb30a2f440a 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -6288,6 +6288,10 @@ x_create_tip_frame (struct x_display_info *dpyinfo, Lisp_Object parms)
 
   f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
 
+  gui_default_parameter (f, parms, Qinhibit_double_buffering, Qnil,
+                         "inhibitDoubleBuffering", "InhibitDoubleBuffering",
+                         RES_TYPE_BOOLEAN);
+
   gui_figure_window_size (f, parms, false, &x_width, &x_height);
 
   {
@@ -6958,6 +6962,7 @@ Text larger than the specified size is clipped.  */)
 
   w->must_be_updated_p = true;
   update_single_window (w);
+  flush_frame (tip_f);
   set_buffer_internal_1 (old_buffer);
   unbind_to (count_1, Qnil);
   windows_or_buffers_changed = old_windows_or_buffers_changed;