diff options
| author | Stefan Monnier | 2012-12-14 10:52:43 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2012-12-14 10:52:43 -0500 |
| commit | ad966fe7542070b5c9aa34ed019d586e7c3adae6 (patch) | |
| tree | 5d117f6b254a6c2008b0481210d1853169f4c5b4 /src | |
| parent | 26ec1f49cb852c04eb6266d64f1673859307adca (diff) | |
| download | emacs-ad966fe7542070b5c9aa34ed019d586e7c3adae6.tar.gz emacs-ad966fe7542070b5c9aa34ed019d586e7c3adae6.zip | |
* src/xdisp.c (display_mode_lines): Keep selected_window and selected_frame
in sync.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/xdisp.c | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 2e7c05e3d36..a35c51b8555 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | 2012-12-14 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2012-12-14 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * xdisp.c (select_frame_for_redisplay): Keep selected_window and | 3 | * xdisp.c (select_frame_for_redisplay, display_mode_lines): |
| 4 | selected_frame in sync. | 4 | Keep selected_window and selected_frame in sync. |
| 5 | 5 | ||
| 6 | 2012-12-14 Eli Zaretskii <eliz@gnu.org> | 6 | 2012-12-14 Eli Zaretskii <eliz@gnu.org> |
| 7 | 7 | ||
diff --git a/src/xdisp.c b/src/xdisp.c index 4a47892a39f..f7fc75f8c25 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -20354,12 +20354,13 @@ redisplay_mode_lines (Lisp_Object window, int force) | |||
| 20354 | static int | 20354 | static int |
| 20355 | display_mode_lines (struct window *w) | 20355 | display_mode_lines (struct window *w) |
| 20356 | { | 20356 | { |
| 20357 | Lisp_Object old_selected_window, old_selected_frame; | 20357 | Lisp_Object old_selected_window = selected_window; |
| 20358 | Lisp_Object old_selected_frame = selected_frame; | ||
| 20359 | Lisp_Object new_frame = w->frame; | ||
| 20360 | Lisp_Object old_frame_selected_window = XFRAME (new_frame)->selected_window; | ||
| 20358 | int n = 0; | 20361 | int n = 0; |
| 20359 | 20362 | ||
| 20360 | old_selected_frame = selected_frame; | ||
| 20361 | selected_frame = w->frame; | 20363 | selected_frame = w->frame; |
| 20362 | old_selected_window = selected_window; | ||
| 20363 | XSETWINDOW (selected_window, w); | 20364 | XSETWINDOW (selected_window, w); |
| 20364 | 20365 | ||
| 20365 | /* These will be set while the mode line specs are processed. */ | 20366 | /* These will be set while the mode line specs are processed. */ |
| @@ -20383,6 +20384,7 @@ display_mode_lines (struct window *w) | |||
| 20383 | ++n; | 20384 | ++n; |
| 20384 | } | 20385 | } |
| 20385 | 20386 | ||
| 20387 | XFRAME (new_frame)->selected_window = old_frame_selected_window; | ||
| 20386 | selected_frame = old_selected_frame; | 20388 | selected_frame = old_selected_frame; |
| 20387 | selected_window = old_selected_window; | 20389 | selected_window = old_selected_window; |
| 20388 | return n; | 20390 | return n; |