Commit 5b574e69 authored by YAMAMOTO Mitsuharu's avatar YAMAMOTO Mitsuharu
Browse files

(x_set_toolkit_scroll_bar_thumb): Don't set control

values if control is not visible or values are not changed.
parent 92fb5516
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
* dispnew.c (update_text_area): Avoid needless redraw of rightmost * dispnew.c (update_text_area): Avoid needless redraw of rightmost
glyph whose face is extended to the text area end. 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> 2006-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
   
* window.c (Fwindow_list): Check `window' before doing XWINDOW. * window.c (Fwindow_list): Check `window' before doing XWINDOW.
......
...@@ -4529,7 +4529,7 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole) ...@@ -4529,7 +4529,7 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
int portion, position, whole; int portion, position, whole;
{ {
ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar); 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) if (whole == 0 || XINT (bar->track_height) == 0)
value = 0, viewsize = 1, maximum = 0; value = 0, viewsize = 1, maximum = 0;
...@@ -4542,16 +4542,20 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole) ...@@ -4542,16 +4542,20 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
BLOCK_INPUT; BLOCK_INPUT;
/* Temporarily hide the scroll bar to avoid multiple redraws. */ if (IsControlVisible (ch)
visible_p = IsControlVisible (ch); && (GetControlViewSize (ch) != viewsize
SetControlVisibility (ch, false, false); || 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);
SetControl32BitMaximum (ch, maximum); SetControl32BitValue (ch, value);
SetControl32BitValue (ch, value); SetControlViewSize (ch, viewsize);
SetControlViewSize (ch, viewsize);
SetControlVisibility (ch, visible_p, true); SetControlVisibility (ch, true, true);
}
UNBLOCK_INPUT; UNBLOCK_INPUT;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment