Module: wine Branch: master Commit: e6fce2de4ad783cf21318128f950eae2f28a6914 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e6fce2de4ad783cf21318128f9...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Oct 16 16:34:19 2013 +0200
comctl32: Set updown control value to min or max in out of range case.
---
dlls/comctl32/updown.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/updown.c b/dlls/comctl32/updown.c index 390f829..a42b40f 100644 --- a/dlls/comctl32/updown.c +++ b/dlls/comctl32/updown.c @@ -150,11 +150,16 @@ static BOOL UPDOWN_OffsetVal(UPDOWN_INFO *infoPtr, int delta) (infoPtr->MaxVal < infoPtr->MinVal ? -1 : 1) * (infoPtr->MinVal - infoPtr->MaxVal) + (delta < 0 ? 1 : -1); - } else return FALSE; + } if ((infoPtr->MaxVal > infoPtr->MinVal && infoPtr->CurVal+delta > infoPtr->MaxVal) + || (infoPtr->MaxVal < infoPtr->MinVal && infoPtr->CurVal+delta < infoPtr->MaxVal)) { + delta = infoPtr->MaxVal - infoPtr->CurVal; + } else { + delta = infoPtr->MinVal - infoPtr->CurVal; + } }
infoPtr->CurVal += delta; - return TRUE; + return delta != 0; }
/***********************************************************************