diff options
| author | Martin Rudalics | 2012-02-04 12:29:29 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2012-02-04 12:29:29 +0100 |
| commit | 3b95a6f950fac76439e91f07534f99448be985d6 (patch) | |
| tree | 4f74d3a9dd535297a3946e75726b8b85657de4c0 /src | |
| parent | 6283a7d3f4c9c122a5ae93507ca4341b8f33fd36 (diff) | |
| download | emacs-3b95a6f950fac76439e91f07534f99448be985d6.tar.gz emacs-3b95a6f950fac76439e91f07534f99448be985d6.zip | |
When changing frame sizes round before applying new sizes. (Bug#9723)
* dispnew.c (change_frame_size_1): Calculate new_frame_total_cols
after rounding frame sizes. (Bug#9723)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/dispnew.c | 19 |
2 files changed, 16 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 40ad7a9f507..95f6201b201 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-02-04 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * dispnew.c (change_frame_size_1): Calculate new_frame_total_cols | ||
| 4 | after rounding frame sizes. (Bug#9723) | ||
| 5 | |||
| 1 | 2012-02-04 Eli Zaretskii <eliz@gnu.org> | 6 | 2012-02-04 Eli Zaretskii <eliz@gnu.org> |
| 2 | 7 | ||
| 3 | * keyboard.c (adjust_point_for_property): Don't position point | 8 | * keyboard.c (adjust_point_for_property): Don't position point |
diff --git a/src/dispnew.c b/src/dispnew.c index 9e57bbb28bf..d302e717ec2 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -5761,19 +5761,22 @@ change_frame_size_1 (register struct frame *f, int newheight, int newwidth, int | |||
| 5761 | if (newwidth == 0) | 5761 | if (newwidth == 0) |
| 5762 | newwidth = FRAME_COLS (f); | 5762 | newwidth = FRAME_COLS (f); |
| 5763 | 5763 | ||
| 5764 | /* Compute width of windows in F. | 5764 | /* Compute width of windows in F. */ |
| 5765 | This is the width of the frame without vertical scroll bars. */ | ||
| 5766 | new_frame_total_cols = FRAME_TOTAL_COLS_ARG (f, newwidth); | ||
| 5767 | |||
| 5768 | /* Round up to the smallest acceptable size. */ | 5765 | /* Round up to the smallest acceptable size. */ |
| 5769 | check_frame_size (f, &newheight, &newwidth); | 5766 | check_frame_size (f, &newheight, &newwidth); |
| 5770 | 5767 | ||
| 5768 | /* This is the width of the frame with vertical scroll bars and fringe | ||
| 5769 | columns. Do this after rounding - see discussion of bug#9723. */ | ||
| 5770 | new_frame_total_cols = FRAME_TOTAL_COLS_ARG (f, newwidth); | ||
| 5771 | |||
| 5771 | /* If we're not changing the frame size, quit now. */ | 5772 | /* If we're not changing the frame size, quit now. */ |
| 5772 | /* Frame width may be unchanged but the text portion may change, for example, | 5773 | /* Frame width may be unchanged but the text portion may change, for |
| 5773 | fullscreen and remove/add scroll bar. */ | 5774 | example, fullscreen and remove/add scroll bar. */ |
| 5774 | if (newheight == FRAME_LINES (f) | 5775 | if (newheight == FRAME_LINES (f) |
| 5775 | && newwidth == FRAME_COLS (f) // text portion unchanged | 5776 | /* Text portion unchanged? */ |
| 5776 | && new_frame_total_cols == FRAME_TOTAL_COLS (f)) // frame width unchanged | 5777 | && newwidth == FRAME_COLS (f) |
| 5778 | /* Frame width unchanged? */ | ||
| 5779 | && new_frame_total_cols == FRAME_TOTAL_COLS (f)) | ||
| 5777 | return; | 5780 | return; |
| 5778 | 5781 | ||
| 5779 | BLOCK_INPUT; | 5782 | BLOCK_INPUT; |