diff options
| author | Tino Calancha <tino.calancha@gmail.com> | 2020-08-15 16:18:03 +0200 |
|---|---|---|
| committer | Tino Calancha <tino.calancha@gmail.com> | 2020-08-15 16:18:03 +0200 |
| commit | 3c4edfd85ee8f49e40715a400a1fc65950e07482 (patch) | |
| tree | b652c0f105b76d4abc1c3765febb647fb25144d0 /src | |
| parent | 98e824199263d4f47200bb3cf60226c5125d700b (diff) | |
| download | emacs-3c4edfd85ee8f49e40715a400a1fc65950e07482.tar.gz | |
Prevent from frozen frame after `C-z' in Lucid builds
Some WMs (e.g. mutter in Gnome Shell) don't unmap iconized windows,
thus we won't get a MapNotify when deconifying them.
Check if we are deconifying a window elsewhere (Bug#42655).
- src/xterm.c (handle_one_xevent):
Check for window deconify when receiving a FocusIn signal.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c index 44396955ed0..a567ab163af 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -8762,6 +8762,20 @@ handle_one_xevent (struct x_display_info *dpyinfo, goto OTHER; case FocusIn: + /* Some WMs (e.g. Mutter in Gnome Shell), don't unmap + minimized/iconified windows; thus, for those WMs we won't get + a MapNotify when unminimizing/deconifying. Check here if we + are deconizing a window (Bug42655). */ + f = any; + if (f && FRAME_ICONIFIED_P (f)) + { + SET_FRAME_VISIBLE (f, 1); + SET_FRAME_ICONIFIED (f, false); + f->output_data.x->has_been_visible = true; + inev.ie.kind = DEICONIFY_EVENT; + XSETFRAME (inev.ie.frame_or_window, f); + } + x_detect_focus_change (dpyinfo, any, event, &inev.ie); goto OTHER; |
