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