mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-15 09:47:20 +00:00
(x_set_toolkit_scroll_bar_thumb): Don't set control
values if control is not visible or values are not changed.
This commit is contained in:
parent
92fb551662
commit
5b574e6957
@ -7,6 +7,9 @@
|
||||
* dispnew.c (update_text_area): Avoid needless redraw of rightmost
|
||||
glyph whose face is extended to the text area end.
|
||||
|
||||
* macterm.c (x_set_toolkit_scroll_bar_thumb): Don't set control
|
||||
values if control is not visible or values are not changed.
|
||||
|
||||
2006-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* window.c (Fwindow_list): Check `window' before doing XWINDOW.
|
||||
|
@ -4529,7 +4529,7 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
|
||||
int portion, position, whole;
|
||||
{
|
||||
ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar);
|
||||
int value, viewsize, maximum, visible_p;
|
||||
int value, viewsize, maximum;
|
||||
|
||||
if (whole == 0 || XINT (bar->track_height) == 0)
|
||||
value = 0, viewsize = 1, maximum = 0;
|
||||
@ -4542,16 +4542,20 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
|
||||
|
||||
BLOCK_INPUT;
|
||||
|
||||
/* Temporarily hide the scroll bar to avoid multiple redraws. */
|
||||
visible_p = IsControlVisible (ch);
|
||||
SetControlVisibility (ch, false, false);
|
||||
if (IsControlVisible (ch)
|
||||
&& (GetControlViewSize (ch) != viewsize
|
||||
|| GetControl32BitValue (ch) != value
|
||||
|| GetControl32BitMaximum (ch) != maximum))
|
||||
{
|
||||
/* Temporarily hide the scroll bar to avoid multiple redraws. */
|
||||
SetControlVisibility (ch, false, false);
|
||||
|
||||
SetControl32BitMinimum (ch, 0);
|
||||
SetControl32BitMaximum (ch, maximum);
|
||||
SetControl32BitValue (ch, value);
|
||||
SetControlViewSize (ch, viewsize);
|
||||
SetControl32BitMaximum (ch, maximum);
|
||||
SetControl32BitValue (ch, value);
|
||||
SetControlViewSize (ch, viewsize);
|
||||
|
||||
SetControlVisibility (ch, visible_p, true);
|
||||
SetControlVisibility (ch, true, true);
|
||||
}
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user