summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-09-28 14:00:51 +0000
committerGerd Moellmann <gerd@gnu.org>2000-09-28 14:00:51 +0000
commit31be92510e362685373a4568cd4c797f655beb56 (patch)
treef9708099f2b578ede6060dcde951c9314b58906b /src
parent2a620aaa637e28608d3839d66251cf8185c4e44b (diff)
(x_make_frame_visible): Try harder to make the frame
visible.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c
index b7998488d1b..ff821edab19 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11848,6 +11848,9 @@ x_make_frame_visible (f)
{
Lisp_Object type;
int original_top, original_left;
+ int retry_count = 2;
+
+ retry:
BLOCK_INPUT;
@@ -11972,6 +11975,20 @@ x_make_frame_visible (f)
/* 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;
}
}