changeset 31948:a6e9ef37895d

(x_make_frame_visible): Try harder to make the frame visible.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 28 Sep 2000 14:00:51 +0000
parents 44a6d62deb2b
children a511ba2b1746
files src/xterm.c
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/xterm.c	Thu Sep 28 09:41:28 2000 +0000
+++ b/src/xterm.c	Thu Sep 28 14:00:51 2000 +0000
@@ -11848,6 +11848,9 @@
 {
   Lisp_Object type;
   int original_top, original_left;
+  int retry_count = 2;
+
+ retry:
 
   BLOCK_INPUT;
 
@@ -11972,6 +11975,20 @@
 	/* See if a MapNotify event has been processed.  */
 	FRAME_SAMPLE_VISIBILITY (f);
       }
+
+    /* 2000-09-28: In
+
+       (let ((f (selected-frame)))
+          (iconify-frame f)
+	  (raise-frame f))
+
+       the frame is not raised with various window managers on
+       FreeBSD, Linux and Solaris.  It turns out that, for some
+       unknown reason, the call to XtMapWidget is completely ignored.
+       Mapping the widget a second time works.  */
+    
+    if (!FRAME_VISIBLE_P (f) && --retry_count > 0)
+      goto retry;
   }
 }