diff options
Diffstat (limited to 'src/w32term.c')
| -rw-r--r-- | src/w32term.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/src/w32term.c b/src/w32term.c index 3a627308137..e41d2fa3c34 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -6347,14 +6347,13 @@ w32_read_socket (struct terminal *terminal, | |||
| 6347 | if (FRAME_TOOLTIP_P (f)) | 6347 | if (FRAME_TOOLTIP_P (f)) |
| 6348 | continue; | 6348 | continue; |
| 6349 | 6349 | ||
| 6350 | /* Check "visible" frames and mark each as obscured or not. | 6350 | /* Check "visible" frames and mark each as visible or not. |
| 6351 | Note that visible is nonzero for unobscured and obscured | 6351 | Note that visible is nonzero for unobscured and obscured |
| 6352 | frames, but zero for hidden and iconified frames. */ | 6352 | frames, but zero for hidden and iconified frames. */ |
| 6353 | if (FRAME_W32_P (f) && FRAME_VISIBLE_P (f)) | 6353 | if (FRAME_W32_P (f) && FRAME_VISIBLE_P (f)) |
| 6354 | { | 6354 | { |
| 6355 | RECT clipbox; | 6355 | RECT clipbox; |
| 6356 | HDC hdc; | 6356 | HDC hdc; |
| 6357 | bool obscured; | ||
| 6358 | 6357 | ||
| 6359 | enter_crit (); | 6358 | enter_crit (); |
| 6360 | /* Query clipping rectangle for the entire window area | 6359 | /* Query clipping rectangle for the entire window area |
| @@ -6368,29 +6367,11 @@ w32_read_socket (struct terminal *terminal, | |||
| 6368 | ReleaseDC (FRAME_W32_WINDOW (f), hdc); | 6367 | ReleaseDC (FRAME_W32_WINDOW (f), hdc); |
| 6369 | leave_crit (); | 6368 | leave_crit (); |
| 6370 | 6369 | ||
| 6371 | obscured = FRAME_OBSCURED_P (f); | 6370 | if (!(clipbox.right == clipbox.left |
| 6372 | 6371 | || clipbox.bottom == clipbox.top)) | |
| 6373 | if (clipbox.right == clipbox.left || clipbox.bottom == clipbox.top) | ||
| 6374 | { | ||
| 6375 | /* Frame has become completely obscured so mark as such (we | ||
| 6376 | do this by setting visible to 2 so that FRAME_VISIBLE_P | ||
| 6377 | is still true, but redisplay will skip it). */ | ||
| 6378 | SET_FRAME_VISIBLE (f, 2); | ||
| 6379 | |||
| 6380 | if (!obscured) | ||
| 6381 | DebPrint (("frame %p (%s) obscured\n", f, SDATA (f->name))); | ||
| 6382 | } | ||
| 6383 | else | ||
| 6384 | { | 6372 | { |
| 6385 | /* Frame is not obscured, so mark it as such. */ | 6373 | /* Frame is not obscured, so mark it as such. */ |
| 6386 | SET_FRAME_VISIBLE (f, 1); | 6374 | SET_FRAME_VISIBLE (f, 1); |
| 6387 | |||
| 6388 | if (obscured) | ||
| 6389 | { | ||
| 6390 | SET_FRAME_GARBAGED (f); | ||
| 6391 | DebPrint (("obscured frame %p (%s) found to be visible\n", | ||
| 6392 | f, SDATA (f->name))); | ||
| 6393 | } | ||
| 6394 | } | 6375 | } |
| 6395 | } | 6376 | } |
| 6396 | } | 6377 | } |