diff src/xfns.c @ 33713:91b2daa9479f

(Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay the menu bar when the tooltip is unmapped.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 21 Nov 2000 22:26:20 +0000
parents e9cf01c7cda6
children e0e2461a24fe
line wrap: on
line diff
--- 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);