summaryrefslogtreecommitdiff
path: root/src/frame.h
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2013-08-12 13:34:00 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2013-08-12 13:34:00 +0400
commitd2e113bc86fba063f39cf5d1893ee47b4cf43a9a (patch)
tree5823ca9a1afdf958f3a9457f90ade72e38732949 /src/frame.h
parent94fcd171894e3a14d3548c028c4229229e32d184 (diff)
Avoid looping over all frame windows to freeze and unfreeze.
* window.h (struct window): Drop frozen_window_start_p. (freeze_window_starts): Drop prototype. * frame.h (struct frame): New frozen_window_starts flag. (FRAME_WINDOWS_FROZEN): New macro. * window.c (freeze_window_start, freeze_window_starts): Remove. (select_window, replace_window): Adjust users. * xdisp.c (resize_mini_window): Use FRAME_WINDOWS_FROZEN. (window_frozen_p): New function. (redisplay_window): Use it.
Diffstat (limited to 'src/frame.h')
-rw-r--r--src/frame.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/frame.h b/src/frame.h
index 33e4bb71d7..e44003b15c 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -410,6 +410,10 @@ struct frame
/* Nonzero means that the pointer is invisible. */
unsigned pointer_invisible :1;
+ /* Nonzero means that all windows except mini-window and
+ selected window on this frame have frozen window starts. */
+ unsigned frozen_window_starts : 1;
+
/* Nonzero if we should actually display the scroll bars on this frame. */
enum vertical_scroll_bar_type vertical_scroll_bar_type;
@@ -761,6 +765,10 @@ default_pixels_per_inch_y (void)
/* Not really implemented. */
#define FRAME_WANTS_MODELINE_P(f) (f)->wants_modeline
+/* Nonzero if all windows except selected window and mini window
+ are frozen on frame F. */
+#define FRAME_WINDOWS_FROZEN(f) (f)->frozen_window_starts
+
/* Nonzero if a size change has been requested for frame F
but not yet really put into effect. This can be true temporarily
when an X event comes in at a bad time. */