From 31be92510e362685373a4568cd4c797f655beb56 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Thu, 28 Sep 2000 14:00:51 +0000 Subject: [PATCH] (x_make_frame_visible): Try harder to make the frame visible. --- src/xterm.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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; } } -- 2.39.5