View Issue Details

IDProjectCategoryView StatusLast Update
0015717LazarusLCLpublic2010-03-13 16:12
ReporterEric Heijnen Assigned ToPaul Ishenin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSWindows 
Product Version0.9.29 (SVN) 
Target Version0.9.30Fixed in Version0.9.29 (SVN) 
Summary0015717: TScrollbar is not working
DescriptionThe TScrollbar component does not react to anything. It doesn't receive onScroll events and you can not drag the scrollbar to any other position.

Additional InformationThis same problem happens with the ctrl+space menu help pop-up in the code window, you can not scroll it by clicking the scroll object on the right side
TagsNo tags attached.
Fixed in Revision23912
LazTarget0.9.30
WidgetsetWin32/Win64
Attached Files

Relationships

child of 0015702 closedJesus Reyes Scrollbars of Lazreport preview flicker wild and dont work 

Activities

Vladimir Zhirov

2010-02-10 22:52

reporter   ~0034376

The problem introduced in r23635. Until it is fixed you can rollback to r23634 or earlier.

Eric Heijnen

2010-02-11 03:00

reporter   ~0034378

Thanks, I checked the svn revision and undid the change to HandleScrollMessage in win32callback.inc and recompiled lazarus. It works now (the scrollbars that is, no idea if it creates other bugs)

2010-02-11 07:04

 

scrollbar.patch (458 bytes)   
Index: lcl/interfaces/win32/win32callback.inc
===================================================================
--- lcl/interfaces/win32/win32callback.inc	(revision 23635)
+++ lcl/interfaces/win32/win32callback.inc	(working copy)
@@ -646,6 +646,9 @@
   var
     ScrollInfo: TScrollInfo;
   begin
+    if LParam<>0 then
+      lWinControl := GetWin32WindowInfo(HWND(LParam))^.WinControl;
+
     with LMScroll do
     begin
       Msg := LMsg;
scrollbar.patch (458 bytes)   

2010-02-11 07:05

 

scrollbar_maxpatch.patch (799 bytes)   
Index: lcl/interfaces/win32/win32callback.inc
===================================================================
--- lcl/interfaces/win32/win32callback.inc	(revision 23635)
+++ lcl/interfaces/win32/win32callback.inc	(working copy)
@@ -646,6 +646,9 @@
   var
     ScrollInfo: TScrollInfo;
   begin
+    if LParam<>0 then
+      lWinControl := GetWin32WindowInfo(HWND(LParam))^.WinControl;
+
     with LMScroll do
     begin
       Msg := LMsg;
@@ -1568,7 +1571,9 @@
             Window, Msg, WParam, LParam, PLMsg^.Result, WinProcess) then Exit(PLMsg^.Result);
         end;
       end;
-      HandleScrollMessage(Msg);
+      if Msg = WM_HSCROLL
+      then HandleScrollMessage(LM_HSCROLL)
+      else HandleScrollMessage(LM_VSCROLL);
     end;
     WM_KEYDOWN:
     begin
scrollbar_maxpatch.patch (799 bytes)   

Vladimir Zhirov

2010-02-11 07:12

reporter   ~0034380

I attached two patches. The first one (scrollbar.patch) fixes this issue only (0015717), the second (scrollbar_maxpatch.patch) fixes one more potential problem with messing WM/LM messages.

Andreas Schneider

2010-03-01 20:47

reporter   ~0034885

The problem still persists.
(Just a bump so it's not forgotten :-))

Stefan Müller

2010-03-02 18:27

reporter   ~0034907

I confirm this bug. I tried the patch provided by Vladimir Zhirov and it seems to work now.

Paul Ishenin

2010-03-10 09:43

manager   ~0035132

Thanks for the patches. I fixed similar but not the same. So please test and close if ok.

Regards messing WM / LM messages - this is ok. LM messages must map to WM messages. But we have some special LM messages which does not exists in win32 (for gtk).

Vladimir Zhirov

2010-03-10 19:58

reporter   ~0035197

Last edited: 2010-03-10 20:08

Thanks for fixing the problem :) I confirm it's working now.

[sorry, I talked a rubbish here about WM/LM so made some cleanup]

Issue History

Date Modified Username Field Change
2010-02-09 03:38 Eric Heijnen New Issue
2010-02-09 03:38 Eric Heijnen Widgetset => Win32/Win64
2010-02-10 22:52 Vladimir Zhirov Note Added: 0034376
2010-02-11 03:00 Eric Heijnen Note Added: 0034378
2010-02-11 07:04 Vladimir Zhirov File Added: scrollbar.patch
2010-02-11 07:05 Vladimir Zhirov File Added: scrollbar_maxpatch.patch
2010-02-11 07:12 Vladimir Zhirov Note Added: 0034380
2010-03-01 20:47 Andreas Schneider Note Added: 0034885
2010-03-02 18:27 Stefan Müller Note Added: 0034907
2010-03-09 16:58 Vincent Snijders LazTarget => 0.9.30
2010-03-09 16:58 Vincent Snijders Assigned To => Paul Ishenin
2010-03-09 16:58 Vincent Snijders Status new => assigned
2010-03-09 16:58 Vincent Snijders Target Version => 0.9.30
2010-03-10 09:43 Paul Ishenin Fixed in Revision => 23912
2010-03-10 09:43 Paul Ishenin Status assigned => resolved
2010-03-10 09:43 Paul Ishenin Fixed in Version => 0.9.29 (SVN)
2010-03-10 09:43 Paul Ishenin Resolution open => fixed
2010-03-10 09:43 Paul Ishenin Note Added: 0035132
2010-03-10 19:58 Vladimir Zhirov Note Added: 0035197
2010-03-10 20:08 Vladimir Zhirov Note Edited: 0035197
2010-03-10 22:32 Vincent Snijders Relationship added child of 0015702
2010-03-13 16:12 Eric Heijnen Status resolved => closed