View Issue Details

IDProjectCategoryView StatusLast Update
0023914LazarusWidgetsetpublic2016-07-02 22:17
ReporterRob BobAssigned ToBart Broersma 
PriorityhighSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformWindows 7 64 bitOSWindowsOS Version7 64 bit
Product Version1.0.6Product Build? 
Target Version1.6.2Fixed in Version1.6.2 
Summary0023914: Scrolling bug in TListBox with large amount of items in it (Windows)
DescriptionI love lazarus and Freepascal and at last I can see that it is possible for me to go from Delphi to Lazarus but,there is some problems.
Look at my file.
The listbox on the left can't be scrolled to the last item,cause of to mutch info!
I need the listbox to hold double the items, in the future.
Possible?
Steps To ReproduceCompile the file and run.Try to scroll to the last item in the left Listbox!
The right box is a memo1 box and work perfect.
Additional InformationICore5 8GB Fujitsu Lifebook AH531.

Lazarus 1.0.6 r40119 FPC 2.6.0 i386-win32-win32/win64
TagsNo tags attached.
Fixed in Revisionr52246
LazTarget1.6.2
WidgetsetWin32/Win64
Attached Files
  • CantScrollListbox.zip (520,744 bytes)
  • listbox-scrollbug.png (19,697 bytes)
    listbox-scrollbug.png (19,697 bytes)
  • lb.zip (4,007 bytes)
  • listbox_memo.PNG (20,108 bytes)
    listbox_memo.PNG (20,108 bytes)
  • lb_src_and_exe.zip (696,763 bytes)
  • ListBoxTest.zip (1,871 bytes)
  • ListBoxScroll.patch (642 bytes)
    Index: lcl/interfaces/win32/win32callback.inc
    ===================================================================
    --- lcl/interfaces/win32/win32callback.inc	(revision 52225)
    +++ lcl/interfaces/win32/win32callback.inc	(working copy)
    @@ -815,6 +815,12 @@
       if LMScroll.Pos < High(LMScroll.SmallPos)
       then LMScroll.SmallPos := LMScroll.Pos
       else LMScroll.SmallPos := High(LMScroll.SmallPos);
    +
    +  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
    +  begin
    +    WinProcess := False;
    +    TCustomListBox(lWinControl).TopIndex := LMScroll.Pos;
    +  end;
     end;
     
     // FlashWindowEx is not (yet) in FPC
    
    ListBoxScroll.patch (642 bytes)
  • ListBoxDocumented.patch (803 bytes)
    Index: lcl/interfaces/win32/win32callback.inc
    ===================================================================
    --- lcl/interfaces/win32/win32callback.inc	(revision 52225)
    +++ lcl/interfaces/win32/win32callback.inc	(working copy)
    @@ -815,6 +815,14 @@
       if LMScroll.Pos < High(LMScroll.SmallPos)
       then LMScroll.SmallPos := LMScroll.Pos
       else LMScroll.SmallPos := High(LMScroll.SmallPos);
    +
    +  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
    +  begin
    +    // WM_VSCROLL message carries only 16 bits of scroll box position data.
    +    // This workaround is needed, to scroll higher than a position value of 65536.
    +    WinProcess := False;
    +    TCustomListBox(lWinControl).TopIndex := LMScroll.Pos;
    +  end;
     end;
     
     // FlashWindowEx is not (yet) in FPC
    
  • w32callback_inc.patch (1,556 bytes)
    Index: lcl/interfaces/win32/win32callback.inc
    ===================================================================
    --- lcl/interfaces/win32/win32callback.inc	(revision 52226)
    +++ lcl/interfaces/win32/win32callback.inc	(working copy)
    @@ -737,6 +737,7 @@
     procedure TWindowProcHelper.HandleScrollMessage(LMsg: integer);
     var
       ScrollInfo: TScrollInfo;
    +  VPos:Integer;
     begin
       with LMScroll do
       begin
    @@ -774,7 +775,7 @@
       // messages
       // MWE.
     
    -  ScrollInfo.cbSize := SizeOf(ScrollInfo);
    +  ScrollInfo.cbSize := SizeOf(TScrollInfo);
       if LOWORD(WParam) = SB_THUMBTRACK
       then begin
         ScrollInfo.fMask := SIF_TRACKPOS;
    @@ -815,6 +816,26 @@
       if LMScroll.Pos < High(LMScroll.SmallPos)
       then LMScroll.SmallPos := LMScroll.Pos
       else LMScroll.SmallPos := High(LMScroll.SmallPos);
    +
    +  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
    +  begin
    +    WinProcess := False;
    +    if WindowsVersion < wvVista then
    +      TCustomListBox(lWinControl).TopIndex := LMScroll.Pos
    +    else
    +    begin
    +      ScrollInfo.fMask:=SIF_ALL;
    +      GetScrollInfo(Window,SB_Vert,ScrollInfo);
    +      VPos:=ScrollInfo.nPos;
    +      ScrollInfo.fMask:=SIF_POS;
    +      ScrollInfo.nPos:=ScrollInfo.nTrackPos;
    +      SetScrollInfo(Window,SB_Vert,ScrollInfo,False);
    +
    +      GetScrollInfo(Window,SB_Vert,ScrollInfo);
    +      if VPos<>ScrollInfo.nPos then
    +        TCustomListBox(lWinControl).TopIndex := ScrollInfo.nPos;
    +    end;
    +  end;
     end;
     
     // FlashWindowEx is not (yet) in FPC
     
    w32callback_inc.patch (1,556 bytes)
  • w32callback_inc_fix_ide_freeze.patch (1,555 bytes)
    Index: lcl/interfaces/win32/win32callback.inc
    ===================================================================
    --- lcl/interfaces/win32/win32callback.inc	(revision 52226)
    +++ lcl/interfaces/win32/win32callback.inc	(working copy)
    @@ -737,6 +737,7 @@
     procedure TWindowProcHelper.HandleScrollMessage(LMsg: integer);
     var
       ScrollInfo: TScrollInfo;
    +  VPos:Integer;
     begin
       with LMScroll do
       begin
    @@ -774,7 +775,7 @@
       // messages
       // MWE.
     
    -  ScrollInfo.cbSize := SizeOf(ScrollInfo);
    +  ScrollInfo.cbSize := SizeOf(TScrollInfo);
       if LOWORD(WParam) = SB_THUMBTRACK
       then begin
         ScrollInfo.fMask := SIF_TRACKPOS;
    @@ -815,6 +816,26 @@
       if LMScroll.Pos < High(LMScroll.SmallPos)
       then LMScroll.SmallPos := LMScroll.Pos
       else LMScroll.SmallPos := High(LMScroll.SmallPos);
    +
    +  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
    +  begin
    +    WinProcess := False;
    +    if WindowsVersion < wvVista then
    +      TCustomListBox(lWinControl).TopIndex := LMScroll.Pos
    +    else
    +    begin
    +      ScrollInfo.fMask:=SIF_ALL;
    +      GetScrollInfo(Window,SB_Vert,ScrollInfo);
    +      VPos:=ScrollInfo.nPos;
    +      ScrollInfo.fMask:=SIF_POS;
    +      ScrollInfo.nPos:=ScrollInfo.nTrackPos;
    +      SetScrollInfo(Window,SB_Vert,ScrollInfo,True);
    +
    +      GetScrollInfo(Window,SB_Vert,ScrollInfo);
    +      if VPos<>ScrollInfo.nPos then
    +        TCustomListBox(lWinControl).TopIndex := ScrollInfo.nPos;
    +    end;
    +  end;
     end;
     
     // FlashWindowEx is not (yet) in FPC
     

Activities

Rob Bob

2013-02-18 00:49

reporter  

CantScrollListbox.zip (520,744 bytes)

Rob Bob

2013-02-20 04:43

reporter   ~0065774

Note:
In Delphi 7 Pro, the listbox works fine and scroll to the end, with all the information.

How strange is this! I tested this program on Delphi XE2 and the same problem with the listbox,occur in Delphi Xe ! Is it because of .net ?
Best regards
Robbanux

Maxim Ganetsky

2013-10-07 21:52

developer   ~0070637

Do you mean scrolling with mouse wheel?

Rob Bob

2013-10-09 17:40

reporter   ~0070699

No.Not the mouse wheel. If You run the program I added, You can see that You can't show the whole information(scroll the listbox list) in the Listbox that You can in the Memo! The Listbox can't swallow that much of information that the Memobox!

Why don't I use the memobox instead? Because the memobox is slower to use that the Listbox.

Bart Broersma

2013-10-09 20:54

developer   ~0070705

If I understand the problem correctly:
The ListBox has many items (> 1000)
If you grab the thumbtrack of the scrollbar and drag it all the way to the bottom, then you excpect the ListBox to scroll to the last item (line) (like the TMemo does).
Instead it scrolls down 1 page (as if you clicked just below the thumbtrack).

Bart Broersma

2013-10-09 21:32

developer   ~0070706

Last edited: 2013-10-09 21:37

View 2 revisions

This is nice.
I made a sample app (I'll attach).
Grab the thumbtrack and slowly scroll down.
At some point you'll see the first item appear back at the top.

In listbox-scrollbug.png I have the listbox populated with 66000 items.
I then dragged the thumbtrack to almost the end, when you can see all of the sudden Item 93 appear at the top.

This also seems to be dependant on the height of the listbox.
(You can test this by resizing the form: in my case when I fill it with 65555 items, it wraps around in the forms default size, but when I enlarge the form and thus the listbox), the wrapping disappears.)

(Lazarus 1.3 r43107 FPC 2.6.2 i386-win32-win32/win64)

Bart Broersma

2013-10-09 21:36

developer  

listbox-scrollbug.png (19,697 bytes)
listbox-scrollbug.png (19,697 bytes)

Bart Broersma

2013-10-09 21:36

developer  

lb.zip (4,007 bytes)

Bart Broersma

2013-10-09 21:47

developer   ~0070707

It seems to be a widgedset problem.
In Linux I cannot reproduce it (I can scroll to 85000 without any problem)
Lazarus 1.3 r42948 FPC 2.6.2 i386-linux-gtk 2

Maxim Ganetsky

2013-10-09 22:56

developer   ~0070710

Last edited: 2013-10-09 23:03

View 2 revisions

Rob Bob, it works OK for me on Windows XP SP3 32 bit. I use Lazarus 1.3 r43075M FPC 2.6.3 i386-win32-win32/win64. Data in Listbox and in Memo seems to be equal.

See attached listbox_memo.PNG.

Maxim Ganetsky

2013-10-09 22:56

developer  

listbox_memo.PNG (20,108 bytes)
listbox_memo.PNG (20,108 bytes)

Bart Broersma

2013-10-09 23:50

developer   ~0070712

Last edited: 2013-10-09 23:51

View 2 revisions

@Maxim: did you drag the thumbtrack to bottom position (see note 0070705).
Can you test my simplified app?

I tested the same code with D7 on the same machine, and it behaved as expected, so it is unlikely it is a bug in Windows itself.

Maxim Ganetsky

2013-10-10 00:39

developer   ~0070714

@Bart: Just tested it, and I cannot reproduce behavior you described. It works OK for me. But again, I'm on Windows XP.

Bart Broersma

2013-10-10 11:35

developer   ~0070726

Maybe you can try with bigger value (you can specify it on commandline: lb 99999 for example. Or play with the height of the form.
Currently I do not have access to a XP machine to test it there.

Bart Broersma

2014-01-03 02:30

developer   ~0072184

I debugged a little further in the message loop:

($lazarus)\lcl\interfaces\win32\win32callback.inc

function
{$ifdef MSG_DEBUG}
  RealWindowProc
{$else}
  WindowProc
{$endif}
  (Window: HWnd; Msg: UInt; WParam: Windows.WParam;
    LParam: Windows.LParam): LResult; stdcall;

this has subfunction
procedure HandleScrollMessage(LMsg: integer);

...
    if LOWORD(WParam) = SB_THUMBTRACK
    then begin
      write('SB_THUMBTRACK: ');
      ScrollInfo.fMask := SIF_TRACKPOS;
      // older windows versions may not support trackpos, so fill it with some default
      writeln('WindowInfo^.TrackValid = ',WindowInfo^.TrackValid, ' HIWORD(WParam) = ',HIWORD(WParam));
      if WindowInfo^.TrackValid
      then ScrollInfo.nTrackPos := Integer(WindowInfo^.TrackPos and $FFFF0000) or HIWORD(WParam)
      else ScrollInfo.nTrackPos := HIWORD(WParam);
    end

Now I have a ListBox with 80000 items and i thumbtrack it to the bottom.
You can see where it "wraps":

SB_THUMBTRACK: WindowInfo^.TrackValid = TRUE HIWORD(WParam) = 64853
WM_VSCROLL
SB_THUMBTRACK: WindowInfo^.TrackValid = TRUE HIWORD(WParam) = 65285
WM_VSCROLL
SB_THUMBTRACK: WindowInfo^.TrackValid = TRUE HIWORD(WParam) = 181
WM_VSCROLL

Bart Broersma

2014-01-03 16:25

developer   ~0072193

Last edited: 2014-01-03 16:31

View 3 revisions

Running the same "trace" with a TMemo shows the same wrapping of HIWORD(WParam), but the TMemo behaves correctly.
The only difference I can see in WindowProc() is that the result of DefaultWindowProc() for TMemo is the correct scroll position, while for TListBox it is always 0.

@Maxim: I have just confirmed this on another Windows version (NT Server 2008 over a Citrix connection), so it definitely is NOT a Win7 only bug.

I don't normally do this, but I have attached lb_src_and_exe.zip: source + executable (32-bit windows). If you dare you can run the executable:
lb 80000
(I need appr. that amount of items to get the bug)
It'll spit out some tracing as well.

Bart Broersma

2014-01-03 16:27

developer  

lb_src_and_exe.zip (696,763 bytes)

Bart Broersma

2014-01-03 16:33

developer   ~0072194

Updated summary.

Cyrax

2014-01-03 20:40

reporter   ~0072196

http://msdn.microsoft.com/en-us/library/windows/desktop/bb787577(v=vs.85).aspx

Maybe using SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos and GetScrollRange functions helps to solve this bug.

Michl

2016-04-20 14:26

developer  

ListBoxTest.zip (1,871 bytes)

Michl

2016-04-20 14:27

developer  

ListBoxScroll.patch (642 bytes)
Index: lcl/interfaces/win32/win32callback.inc
===================================================================
--- lcl/interfaces/win32/win32callback.inc	(revision 52225)
+++ lcl/interfaces/win32/win32callback.inc	(working copy)
@@ -815,6 +815,12 @@
   if LMScroll.Pos < High(LMScroll.SmallPos)
   then LMScroll.SmallPos := LMScroll.Pos
   else LMScroll.SmallPos := High(LMScroll.SmallPos);
+
+  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
+  begin
+    WinProcess := False;
+    TCustomListBox(lWinControl).TopIndex := LMScroll.Pos;
+  end;
 end;
 
 // FlashWindowEx is not (yet) in FPC
ListBoxScroll.patch (642 bytes)

Michl

2016-04-20 14:28

developer   ~0092107

Last edited: 2016-04-20 15:41

View 3 revisions

I've added a new testproject and a patch (all projects here tested).

[Edit]

I've added also a patch ListBoxDocumented.patch, where the workaround is documented, why it is done. I think, its better to understand later.

Michl

2016-04-20 15:39

developer  

ListBoxDocumented.patch (803 bytes)
Index: lcl/interfaces/win32/win32callback.inc
===================================================================
--- lcl/interfaces/win32/win32callback.inc	(revision 52225)
+++ lcl/interfaces/win32/win32callback.inc	(working copy)
@@ -815,6 +815,14 @@
   if LMScroll.Pos < High(LMScroll.SmallPos)
   then LMScroll.SmallPos := LMScroll.Pos
   else LMScroll.SmallPos := High(LMScroll.SmallPos);
+
+  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
+  begin
+    // WM_VSCROLL message carries only 16 bits of scroll box position data.
+    // This workaround is needed, to scroll higher than a position value of 65536.
+    WinProcess := False;
+    TCustomListBox(lWinControl).TopIndex := LMScroll.Pos;
+  end;
 end;
 
 // FlashWindowEx is not (yet) in FPC

Do-wan Kim

2016-04-21 06:51

reporter   ~0092112

Last edited: 2016-04-22 04:57

View 3 revisions

Some more code on Michl's patch.

  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
  begin
    WinProcess := False;
    if WindowsVersion < wvVista then
      TCustomListBox(lWinControl).TopIndex := LMScroll.Pos
    else
    begin
      ScrollInfo.fMask:=SIF_ALL;
      GetScrollInfo(Window,SB_Vert,ScrollInfo);
      VPos:=ScrollInfo.nPos;
      ScrollInfo.fMask:=SIF_POS;
      ScrollInfo.nPos:=ScrollInfo.nTrackPos;
      SetScrollInfo(Window,SB_Vert,ScrollInfo,False);

      GetScrollInfo(Window,SB_Vert,ScrollInfo);
      if VPos<>ScrollInfo.nPos then
        TCustomListBox(lWinControl).TopIndex := ScrollInfo.nPos;
    end;
  end;

(fix freezing on IDE)
+ SetScrollInfo(Window,SB_Vert,ScrollInfo,True);

(edit)
Forgot last patch. IDE freezing is caused by FPC r33542.

Do-wan Kim

2016-04-22 01:45

reporter  

w32callback_inc.patch (1,556 bytes)
Index: lcl/interfaces/win32/win32callback.inc
===================================================================
--- lcl/interfaces/win32/win32callback.inc	(revision 52226)
+++ lcl/interfaces/win32/win32callback.inc	(working copy)
@@ -737,6 +737,7 @@
 procedure TWindowProcHelper.HandleScrollMessage(LMsg: integer);
 var
   ScrollInfo: TScrollInfo;
+  VPos:Integer;
 begin
   with LMScroll do
   begin
@@ -774,7 +775,7 @@
   // messages
   // MWE.
 
-  ScrollInfo.cbSize := SizeOf(ScrollInfo);
+  ScrollInfo.cbSize := SizeOf(TScrollInfo);
   if LOWORD(WParam) = SB_THUMBTRACK
   then begin
     ScrollInfo.fMask := SIF_TRACKPOS;
@@ -815,6 +816,26 @@
   if LMScroll.Pos < High(LMScroll.SmallPos)
   then LMScroll.SmallPos := LMScroll.Pos
   else LMScroll.SmallPos := High(LMScroll.SmallPos);
+
+  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
+  begin
+    WinProcess := False;
+    if WindowsVersion < wvVista then
+      TCustomListBox(lWinControl).TopIndex := LMScroll.Pos
+    else
+    begin
+      ScrollInfo.fMask:=SIF_ALL;
+      GetScrollInfo(Window,SB_Vert,ScrollInfo);
+      VPos:=ScrollInfo.nPos;
+      ScrollInfo.fMask:=SIF_POS;
+      ScrollInfo.nPos:=ScrollInfo.nTrackPos;
+      SetScrollInfo(Window,SB_Vert,ScrollInfo,False);
+
+      GetScrollInfo(Window,SB_Vert,ScrollInfo);
+      if VPos<>ScrollInfo.nPos then
+        TCustomListBox(lWinControl).TopIndex := ScrollInfo.nPos;
+    end;
+  end;
 end;
 
 // FlashWindowEx is not (yet) in FPC
 
w32callback_inc.patch (1,556 bytes)

Do-wan Kim

2016-04-22 03:57

reporter  

w32callback_inc_fix_ide_freeze.patch (1,555 bytes)
Index: lcl/interfaces/win32/win32callback.inc
===================================================================
--- lcl/interfaces/win32/win32callback.inc	(revision 52226)
+++ lcl/interfaces/win32/win32callback.inc	(working copy)
@@ -737,6 +737,7 @@
 procedure TWindowProcHelper.HandleScrollMessage(LMsg: integer);
 var
   ScrollInfo: TScrollInfo;
+  VPos:Integer;
 begin
   with LMScroll do
   begin
@@ -774,7 +775,7 @@
   // messages
   // MWE.
 
-  ScrollInfo.cbSize := SizeOf(ScrollInfo);
+  ScrollInfo.cbSize := SizeOf(TScrollInfo);
   if LOWORD(WParam) = SB_THUMBTRACK
   then begin
     ScrollInfo.fMask := SIF_TRACKPOS;
@@ -815,6 +816,26 @@
   if LMScroll.Pos < High(LMScroll.SmallPos)
   then LMScroll.SmallPos := LMScroll.Pos
   else LMScroll.SmallPos := High(LMScroll.SmallPos);
+
+  if Assigned(lWinControl) and (lWinControl is TCustomListbox) and (LMsg = LM_VSCROLL) then
+  begin
+    WinProcess := False;
+    if WindowsVersion < wvVista then
+      TCustomListBox(lWinControl).TopIndex := LMScroll.Pos
+    else
+    begin
+      ScrollInfo.fMask:=SIF_ALL;
+      GetScrollInfo(Window,SB_Vert,ScrollInfo);
+      VPos:=ScrollInfo.nPos;
+      ScrollInfo.fMask:=SIF_POS;
+      ScrollInfo.nPos:=ScrollInfo.nTrackPos;
+      SetScrollInfo(Window,SB_Vert,ScrollInfo,True);
+
+      GetScrollInfo(Window,SB_Vert,ScrollInfo);
+      if VPos<>ScrollInfo.nPos then
+        TCustomListBox(lWinControl).TopIndex := ScrollInfo.nPos;
+    end;
+  end;
 end;
 
 // FlashWindowEx is not (yet) in FPC
 

Bart Broersma

2016-04-23 16:37

developer   ~0092160

Last edited: 2016-04-23 16:38

View 2 revisions

@Do-wan Kim:
1. why is your patch necessary (i.o.w. why isn't Michl's patch sufficient)?
2. > IDE freezing is caused by FPC r33542. That doesn't really make sense to me.
If that were true then either this fpc revision is flawed or SetScrollInfo(Window,SB_Vert,ScrollInfo,False) was wrong to begin with.

Can you please clarify?

Also: why did you remove the comments from Michl's patch?

Do-wan Kim

2016-04-24 04:04

reporter   ~0092163

"Also: why did you remove the comments from Michl's patch?"
Sorry, it's mistake.

1. Michl's patch limit 65535 and I found way to solve it but more investgation needed.
2. FPC r33542 optimizer update is freezing in SynEdit control and it's not Listbox problem.

Bart Broersma

2016-04-24 10:51

developer   ~0092166

You did not answer the first question.

> 2. FPC r33542 optimizer update is freezing in SynEdit control and it's not
> Listbox problem.

So why then the change in your last patch (False->True)?
It should not make any difference in a SynEdit given that the code is only used in a TCustomListBox.

Without clarification on both questions I will not apply the patch.

Do-wan Kim

2016-04-24 11:49

reporter   ~0092169

"So why then the change in your last patch (False->True)?"

I recompile refreshed svn fpc-lazarus after patch and I got IDE freezing.
I don't know what cause freezing and I guess my patch cause problem.
But I investgate more and test with compiler switches I got no problem first patch.
I guess Redraw make freezing IDE but it's not.

My second patch is totaly made by my mistake. Sorry.

Michl

2016-04-24 12:31

developer   ~0092173

I had tested and now tested again my attached patch on (and it works here):
Windows 7 and Windows 10, 32 and 64bit, Lazarus trunk revision 52241 on FPC trunk.

> Michl's patch limit 65535
On what for a system?

Do-wan Kim

2016-04-25 07:28

reporter   ~0092192

"
> Michl's patch limit 65535
On what for a system? "

I am misreading your comments xD
Sorry, forgot my patch.

Bart Broersma

2016-04-25 10:57

developer   ~0092202

Ok then I'll apply Michl's patch (the one with comments).

Bart Broersma

2016-04-25 12:08

developer   ~0092206

Please test and close if OK.

Issue History

Date Modified Username Field Change
2013-02-18 00:49 Rob Bob New Issue
2013-02-18 00:49 Rob Bob File Added: CantScrollListbox.zip
2013-02-20 04:44 Rob Bob Note Added: 0065774
2013-10-07 16:16 Vincent Snijders LazTarget => -
2013-10-07 16:16 Vincent Snijders View Status private => public
2013-10-07 21:52 Maxim Ganetsky Note Added: 0070637
2013-10-07 21:52 Maxim Ganetsky Status new => feedback
2013-10-09 17:40 Rob Bob Note Added: 0070699
2013-10-09 17:40 Rob Bob Status feedback => new
2013-10-09 20:54 Bart Broersma Note Added: 0070705
2013-10-09 21:32 Bart Broersma Note Added: 0070706
2013-10-09 21:36 Bart Broersma File Added: listbox-scrollbug.png
2013-10-09 21:36 Bart Broersma File Added: lb.zip
2013-10-09 21:37 Bart Broersma Note Edited: 0070706 View Revisions
2013-10-09 21:47 Bart Broersma Note Added: 0070707
2013-10-09 22:56 Maxim Ganetsky Note Added: 0070710
2013-10-09 22:56 Maxim Ganetsky File Added: listbox_memo.PNG
2013-10-09 23:03 Maxim Ganetsky Note Edited: 0070710 View Revisions
2013-10-09 23:50 Bart Broersma Note Added: 0070712
2013-10-09 23:50 Bart Broersma Status new => confirmed
2013-10-09 23:51 Bart Broersma Note Edited: 0070712 View Revisions
2013-10-10 00:39 Maxim Ganetsky Note Added: 0070714
2013-10-10 11:35 Bart Broersma Note Added: 0070726
2014-01-03 02:30 Bart Broersma Note Added: 0072184
2014-01-03 16:25 Bart Broersma Note Added: 0072193
2014-01-03 16:27 Bart Broersma File Added: lb_src_and_exe.zip
2014-01-03 16:30 Bart Broersma Note Edited: 0072193 View Revisions
2014-01-03 16:31 Bart Broersma Note Edited: 0072193 View Revisions
2014-01-03 16:33 Bart Broersma Note Added: 0072194
2014-01-03 16:33 Bart Broersma Category LCL => Widgetset
2014-01-03 16:33 Bart Broersma Summary Can't scroll to the last item in the listbox to the left! => Scrolling bug in TL:istBox with large amount of items in it (Windows)
2014-01-03 16:34 Bart Broersma Summary Scrolling bug in TL:istBox with large amount of items in it (Windows) => Scrolling bug in TListBox with large amount of items in it (Windows)
2014-01-03 20:40 Cyrax Note Added: 0072196
2015-11-24 18:19 Bart Broersma LazTarget - => post 1.6
2015-11-24 18:19 Bart Broersma Severity major => minor
2016-04-20 14:26 Michl File Added: ListBoxTest.zip
2016-04-20 14:27 Michl File Added: ListBoxScroll.patch
2016-04-20 14:28 Michl Note Added: 0092107
2016-04-20 14:33 Michl Note Edited: 0092107 View Revisions
2016-04-20 15:39 Michl File Added: ListBoxDocumented.patch
2016-04-20 15:41 Michl Note Edited: 0092107 View Revisions
2016-04-20 15:59 Bart Broersma Assigned To => Bart Broersma
2016-04-20 15:59 Bart Broersma Status confirmed => assigned
2016-04-21 06:51 Do-wan Kim Note Added: 0092112
2016-04-22 01:45 Do-wan Kim File Added: w32callback_inc.patch
2016-04-22 03:57 Do-wan Kim File Added: w32callback_inc_fix_ide_freeze.patch
2016-04-22 03:58 Do-wan Kim Note Edited: 0092112 View Revisions
2016-04-22 04:57 Do-wan Kim Note Edited: 0092112 View Revisions
2016-04-23 16:37 Bart Broersma Note Added: 0092160
2016-04-23 16:37 Bart Broersma LazTarget post 1.6 => post 1.8
2016-04-23 16:37 Bart Broersma Status assigned => feedback
2016-04-23 16:38 Bart Broersma Note Edited: 0092160 View Revisions
2016-04-24 04:04 Do-wan Kim Note Added: 0092163
2016-04-24 10:51 Bart Broersma Note Added: 0092166
2016-04-24 11:49 Do-wan Kim Note Added: 0092169
2016-04-24 12:31 Michl Note Added: 0092173
2016-04-25 07:28 Do-wan Kim Note Added: 0092192
2016-04-25 10:57 Bart Broersma Note Added: 0092202
2016-04-25 10:57 Bart Broersma Status feedback => assigned
2016-04-25 12:08 Bart Broersma Fixed in Revision => r52246
2016-04-25 12:08 Bart Broersma LazTarget post 1.8 => 1.6.2
2016-04-25 12:08 Bart Broersma Note Added: 0092206
2016-04-25 12:08 Bart Broersma Status assigned => resolved
2016-04-25 12:08 Bart Broersma Fixed in Version => 1.6.2
2016-04-25 12:08 Bart Broersma Resolution open => fixed
2016-04-25 12:08 Bart Broersma Target Version => 1.6.2