Mercurial > emacs
comparison src/xterm.c @ 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 | 3df9d3316990 |
children | be53a078f4e2 |
comparison
equal
deleted
inserted
replaced
31947:44a6d62deb2b | 31948:a6e9ef37895d |
---|---|
11846 x_make_frame_visible (f) | 11846 x_make_frame_visible (f) |
11847 struct frame *f; | 11847 struct frame *f; |
11848 { | 11848 { |
11849 Lisp_Object type; | 11849 Lisp_Object type; |
11850 int original_top, original_left; | 11850 int original_top, original_left; |
11851 int retry_count = 2; | |
11852 | |
11853 retry: | |
11851 | 11854 |
11852 BLOCK_INPUT; | 11855 BLOCK_INPUT; |
11853 | 11856 |
11854 type = x_icon_type (f); | 11857 type = x_icon_type (f); |
11855 if (!NILP (type)) | 11858 if (!NILP (type)) |
11970 } | 11973 } |
11971 | 11974 |
11972 /* See if a MapNotify event has been processed. */ | 11975 /* See if a MapNotify event has been processed. */ |
11973 FRAME_SAMPLE_VISIBILITY (f); | 11976 FRAME_SAMPLE_VISIBILITY (f); |
11974 } | 11977 } |
11978 | |
11979 /* 2000-09-28: In | |
11980 | |
11981 (let ((f (selected-frame))) | |
11982 (iconify-frame f) | |
11983 (raise-frame f)) | |
11984 | |
11985 the frame is not raised with various window managers on | |
11986 FreeBSD, Linux and Solaris. It turns out that, for some | |
11987 unknown reason, the call to XtMapWidget is completely ignored. | |
11988 Mapping the widget a second time works. */ | |
11989 | |
11990 if (!FRAME_VISIBLE_P (f) && --retry_count > 0) | |
11991 goto retry; | |
11975 } | 11992 } |
11976 } | 11993 } |
11977 | 11994 |
11978 /* Change from mapped state to withdrawn state. */ | 11995 /* Change from mapped state to withdrawn state. */ |
11979 | 11996 |