diff options
| author | Stefan Monnier | 2014-03-20 10:09:37 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2014-03-20 10:09:37 -0400 |
| commit | caecb91c581d4ec0fc008a35005d8009f43087ee (patch) | |
| tree | a1ec19db2c583f3dfea1c53b26c6936f978bbad9 /src/frame.h | |
| parent | 7b9cb5448748b75a15840b7fba080cdcb341d0f7 (diff) | |
| download | emacs-caecb91c581d4ec0fc008a35005d8009f43087ee.tar.gz emacs-caecb91c581d4ec0fc008a35005d8009f43087ee.zip | |
* src/frame.h (SET_FRAME_VISIBLE): Keep frame_garbaged up to date.
* src/xterm.c (handle_one_xevent) <MapNotify>: Don't garbage the frame.
* src/frame.c (frame_garbaged): Make "docstring" more precise.
Diffstat (limited to 'src/frame.h')
| -rw-r--r-- | src/frame.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/frame.h b/src/frame.h index 1230e97f04d..62dc33511b5 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -439,7 +439,7 @@ struct frame | |||
| 439 | /* The baud rate that was used to calculate costs for this frame. */ | 439 | /* The baud rate that was used to calculate costs for this frame. */ |
| 440 | int cost_calculation_baud_rate; | 440 | int cost_calculation_baud_rate; |
| 441 | 441 | ||
| 442 | /* frame opacity | 442 | /* Frame opacity |
| 443 | alpha[0]: alpha transparency of the active frame | 443 | alpha[0]: alpha transparency of the active frame |
| 444 | alpha[1]: alpha transparency of inactive frames | 444 | alpha[1]: alpha transparency of inactive frames |
| 445 | Negative values mean not to change alpha. */ | 445 | Negative values mean not to change alpha. */ |
| @@ -453,7 +453,7 @@ struct frame | |||
| 453 | /* Additional space to put between text lines on this frame. */ | 453 | /* Additional space to put between text lines on this frame. */ |
| 454 | int extra_line_spacing; | 454 | int extra_line_spacing; |
| 455 | 455 | ||
| 456 | /* All display backends seem to need these two pixel values. */ | 456 | /* All display backends seem to need these two pixel values. */ |
| 457 | unsigned long background_pixel; | 457 | unsigned long background_pixel; |
| 458 | unsigned long foreground_pixel; | 458 | unsigned long foreground_pixel; |
| 459 | }; | 459 | }; |
| @@ -946,6 +946,9 @@ default_pixels_per_inch_y (void) | |||
| 946 | } \ | 946 | } \ |
| 947 | } while (false) | 947 | } while (false) |
| 948 | 948 | ||
| 949 | /* False means there are no visible garbaged frames. */ | ||
| 950 | extern bool frame_garbaged; | ||
| 951 | |||
| 949 | /* Set visibility of frame F. | 952 | /* Set visibility of frame F. |
| 950 | We call redisplay_other_windows to make sure the frame gets redisplayed | 953 | We call redisplay_other_windows to make sure the frame gets redisplayed |
| 951 | if some changes were applied to it while it wasn't visible (and hence | 954 | if some changes were applied to it while it wasn't visible (and hence |
| @@ -955,8 +958,13 @@ INLINE void | |||
| 955 | SET_FRAME_VISIBLE (struct frame *f, int v) | 958 | SET_FRAME_VISIBLE (struct frame *f, int v) |
| 956 | { | 959 | { |
| 957 | eassert (0 <= v && v <= 2); | 960 | eassert (0 <= v && v <= 2); |
| 958 | if (v == 1 && f->visible != 1) | 961 | if (v) |
| 959 | redisplay_other_windows (); | 962 | { |
| 963 | if (v == 1 && f->visible != 1) | ||
| 964 | redisplay_other_windows (); | ||
| 965 | if (FRAME_GARBAGED_P (f)) | ||
| 966 | frame_garbaged = true; | ||
| 967 | } | ||
| 960 | f->visible = v; | 968 | f->visible = v; |
| 961 | } | 969 | } |
| 962 | 970 | ||
| @@ -972,9 +980,6 @@ extern Lisp_Object Qtty_color_mode; | |||
| 972 | extern Lisp_Object Qterminal; | 980 | extern Lisp_Object Qterminal; |
| 973 | extern Lisp_Object Qnoelisp; | 981 | extern Lisp_Object Qnoelisp; |
| 974 | 982 | ||
| 975 | /* True means there is at least one garbaged frame. */ | ||
| 976 | extern bool frame_garbaged; | ||
| 977 | |||
| 978 | extern void set_menu_bar_lines (struct frame *, Lisp_Object, Lisp_Object); | 983 | extern void set_menu_bar_lines (struct frame *, Lisp_Object, Lisp_Object); |
| 979 | extern struct frame *decode_window_system_frame (Lisp_Object); | 984 | extern struct frame *decode_window_system_frame (Lisp_Object); |
| 980 | extern struct frame *decode_live_frame (Lisp_Object); | 985 | extern struct frame *decode_live_frame (Lisp_Object); |