Piotr Caban : comctl32: Set updown control value to min or max in out of range case.
Alexandre Julliard
julliard at winehq.org
Fri Jan 10 14:44:52 CST 2014
Module: wine
Branch: stable
Commit: 57a8e345fc0d629410ab159089ae65ffdbb1e92b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=57a8e345fc0d629410ab159089ae65ffdbb1e92b
Author: Piotr Caban <piotr at 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.
(cherry picked from commit e6fce2de4ad783cf21318128f950eae2f28a6914)
---
dlls/comctl32/updown.c | 9 +++++++--
1 file 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;
}
/***********************************************************************
More information about the wine-cvs
mailing list