# HG changeset patch
# User Gerd Moellmann <gerd@gnu.org>
# Date 974845580 0
# Node ID 91b2daa9479f5b5baea177f12ad4711ac7b0fdd4
# Parent  6b4737c2e60a3612698e477c101ea4f7639c37b8
(Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
the menu bar when the tooltip is unmapped.

diff -r 6b4737c2e60a -r 91b2daa9479f src/xfns.c
--- a/src/xfns.c	Tue Nov 21 22:18:23 2000 +0000
+++ b/src/xfns.c	Tue Nov 21 22:26:20 2000 +0000
@@ -10678,11 +10678,30 @@
   if (tip_frame)
     {
       Lisp_Object frame;
-      
+	
       XSETFRAME (frame, tip_frame);
       Fdelete_frame (frame, Qt);
       tip_frame = NULL;
       deleted_p = 1;
+
+#ifdef USE_LUCID
+      /* Bloodcurdling hack alert: The Lucid menu bar widget's
+	 redisplay procedure is not called when a tip frame over menu
+	 items is unmapped.  Redisplay the menu manually...  */
+      {
+	struct frame *f = SELECTED_FRAME ();
+	Widget w = f->output_data.x->menubar_widget;
+	extern void xlwmenu_redisplay P_ ((Widget));
+	
+	if (!DoesSaveUnders (FRAME_X_DISPLAY_INFO (f)->screen)
+	    && w != None)
+	  {
+	    BLOCK_INPUT;
+	    xlwmenu_redisplay (w);
+	    UNBLOCK_INPUT;
+	  }
+      }
+#endif /* USE_LUCID */
     }
 
   return unbind_to (count, deleted_p ? Qt : Qnil);