Bugg in TTIWContinuousScroll


There is a rather seriious issue with TTIWContinuousScroll that causes an exception loop.

I'm not 100% sure of the root cause of the issue but it looks like it might be caused by having items that uses a dynamic size: as soon as the list is scrolled to the bottom, a "xxx.xxx is not an integer value" EConvertError will be called in loop, crashing the application.

I have fixed it using the following pathc: it seems to work fine on my system but, unfortunately, I am unsure if I'm not just fixing the symptom instead of the problem. In any case, it seems like good housekeeping to ensure the parameters received are of the proper type.

Here is the patch for my fix. Could you please investigate it?
 TMS/Intraweb/IWContinuousScroll.pas | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/TMS/Intraweb/IWContinuousScroll.pas b/TMS/Intraweb/IWContinuousScroll.pas
index 748881bff..4d53f3956 100644
--- a/TMS/Intraweb/IWContinuousScroll.pas
+++ b/TMS/Intraweb/IWContinuousScroll.pas
@@ -448,8 +448,10 @@ begin
        IWTMSBase.Split(':', value, A);
        //ScrollTop + ":" + (ScrollHeight - Height);'#13
-       FScrollTop := StrToInt(A[0]);
-       FScrollEnd := StrToInt(A[1]);
+       FScrollTop := round(StrToFloat(A[0]));
+       FScrollEnd := round(StrToFloat(A[1]));
+//       FScrollTop := StrTo(A[0]);
+//       FScrollEnd := StrToInt(A[1]);


Thank you for notifying.
We'll have to investigate if this change can be implemented in a future version.