Prevent endless loop in x_make_frame_visible.
* xterm.c (x_make_frame_visible): Prevent endless loop when frame never becomes visible, i.e. using XMonad . Fixes: debbugs:17237
This commit is contained in:
parent
8915b84286
commit
53e46f3ad6
2 changed files with 13 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-04-17 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* xterm.c (x_make_frame_visible): Prevent endless loop when frame
|
||||
never becomes visible, i.e. using XMonad (Bug#17237).
|
||||
|
||||
2014-04-17 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (Fline_pixel_height): Don't assume that the current
|
||||
|
|
|
@ -8899,6 +8899,7 @@ void
|
|||
x_make_frame_visible (struct frame *f)
|
||||
{
|
||||
int original_top, original_left;
|
||||
int tries = 0;
|
||||
|
||||
block_input ();
|
||||
|
||||
|
@ -9006,7 +9007,13 @@ x_make_frame_visible (struct frame *f)
|
|||
/* Force processing of queued events. */
|
||||
x_sync (f);
|
||||
|
||||
/* This hack is still in use at least for Cygwin. See
|
||||
/* If on another desktop, the deiconify/map may be ignored and the
|
||||
frame never becomes visible. XMonad does this.
|
||||
Prevent an endless loop. */
|
||||
if (FRAME_ICONIFIED_P (f) && ++tries > 100)
|
||||
break;
|
||||
|
||||
/* This hack is still in use at least for Cygwin. See
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00351.html.
|
||||
|
||||
Machines that do polling rather than SIGIO have been
|
||||
|
|
Loading…
Add table
Reference in a new issue