diff --git a/WINGs/wslider.c b/WINGs/wslider.c index 24f9de2..4efdb59 100644 --- a/WINGs/wslider.c +++ b/WINGs/wslider.c @@ -146,8 +146,10 @@ void WMSetSliderMinValue(WMSlider * slider, int value) slider->minValue = value; if (slider->value < value) { slider->value = value; - if (slider->view->flags.mapped) + if (slider->view->flags.mapped) { paintSlider(slider); + W_RedisplayView(slider->view); + } } } @@ -158,8 +160,10 @@ void WMSetSliderMaxValue(WMSlider * slider, int value) slider->maxValue = value; if (slider->value > value) { slider->value = value; - if (slider->view->flags.mapped) + if (slider->view->flags.mapped) { paintSlider(slider); + W_RedisplayView(slider->view); + } } } @@ -174,8 +178,10 @@ void WMSetSliderValue(WMSlider * slider, int value) else slider->value = value; - if (slider->view->flags.mapped) + if (slider->view->flags.mapped) { paintSlider(slider); + W_RedisplayView(slider->view); + } } void WMSetSliderContinuous(WMSlider * slider, Bool flag) @@ -474,6 +480,8 @@ static void handleActionEvents(WMEvent * event, void *data) } break; } + if (sPtr->flags.dragging || event->type == WME_BUTTON_RELEASE) + W_RedisplayView(sPtr->view); } static void destroySlider(Slider * sPtr)