Ok, this time I fixed the problem, which appeared with any change
which resulted in summary frame pixel size change of zero along both
coordinates.
I also made menubar obey to the same mechanism.
Kirill
1998-05-06 Kirill M. Katsnelson <kkm(a)kis.ru>
* frame.h (struct frame): Added char_{width,height} member
variables and access macros
Added size_slipped redisplay bit and mark/clear macros.
* redisplay.c (redisplay_frame): Adjust frame size if size slipped
bit is set.
(redisplay_device): Call redisplay_frame if size slipped bit is set.
* frame.c (adjust_frame_size): Redisplay beats frame back in shape
with this. Added.
(frame_size_slipped): Added.
(internal_set_frame_size): Clear size slipped bit.
(change_frame_size_1): Store real charsize into frame object.
(vars_of_frame): Declared adjust-frame-function.
* frame-msw.c (mswindows_update_frame_external_traits): Same
change as for frame-x.c
(mswindows_frame_size_fixed_p): Implemented the method.
* frame-x.c (x_update_frame_external_traits): Do not call
Fset_frame_size to adjust frame, redisplay will do.
* faces.c (update_EmacsFrame): Mark frame as slipped when default
font changes.
* toolbar.c (compute_frame_toolbars_data): Removed obsoleted call
to change_frame_size. Redisplay will fix it later.
Removed toolbar_*_changed_in_frame specifier
change handlers.
(specifier_vars_of_toolbar): Calls to these routed to
frame_size_slipped generic handler.
* toolbar-x.c: Removed toolbar_*_changed_in_frame device methods.
* scrollbar-x.c: Removed scrollbar_*_changed_in_frame device
methods.
* scrollbar.c: Removed scrollbar_*_changed_in_frame specifier
change handlers.
(specifier_vars_of_scrollbar): Calls to the above changed to
frame_size_slipped generic handler.
* menubar-x.c (x_update_frame_menubar_internal): Do not resize
frame, just mark frame size as slipped.
* device-x.c: Removed declaration of in_specifier_change_function.
* EmacsFrame.c (EmacsFrameSetValues): Do not check
in_specifier_change_function.
(EmacsFrameSetValues): Simulate a call to resize callback when no
actual geometry change happened.
* console.h (struct console_methods): Removed declarations for all
<specifier>_changed_in_frame methods for toolbars and scrollbars.
Added frame_size_fixed_p method.
Show replies by date