diff options
author | Gerd Moellmann <gerd@gnu.org> | 2000-09-28 14:00:51 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2000-09-28 14:00:51 +0000 |
commit | 31be92510e362685373a4568cd4c797f655beb56 (patch) | |
tree | f9708099f2b578ede6060dcde951c9314b58906b /src | |
parent | 2a620aaa637e28608d3839d66251cf8185c4e44b (diff) |
(x_make_frame_visible): Try harder to make the frame
visible.
Diffstat (limited to 'src')
-rw-r--r-- | src/xterm.c | 17 |
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; } } |