View Issue Details

IDProjectCategoryView StatusLast Update
0011092LazarusLCLpublic2011-12-01 11:24
ReporterGraeme GeldenhuysAssigned ToJesus Reyes 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSUbuntu LinuxOS Version7.04
Product Version0.9.25 (SVN)Product Buildv0.9.25 r14596M i386-linux-gtk 
Target Version1.0.0Fixed in Version0.9.29 (SVN) 
Summary0011092: Scrolling bug in TStringGrid
DescriptionWhile comparing the scrolling behaviour of fpGUI's StringGrid to Lazarus and Delphi, I think I stumbled upon a bug in LCL StringGrid.

Steps to reproduce:
 1. Create a new project with widget set = GTK1
 2. Drop a TStringGrid on the form
 3. Set the following StringGrid properties
     Width = 360
     Height = 264
     RowCount = 17
     Options: DrawFocusRect = True
               ScrollKeepVisible = True
     ScollBars = ssAutoBoth
 4. FormCreate event handler as follows... just to make scrolling more visible.
 
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to Stringgrid1.RowCount-1 do
    StringGrid1.Cells[2, i] := IntToStr(i);
end;

 5. Run the application.


Test 0000001:
  Click on a cell in Row 1. Press DOWN arrow until you reach the bottom. Row 16 is fully visible and ScrollBar is at bottom. See image: screenshot-1.png

Test 0000002:
  Click on a cell in Row 1. Click the DOWN button of the vertical scrollbar until you reach the bottom. Everything works, Row 16 is fully visible and scrollbar is at bottom.

Test 0000003: (bug)
  Click on a cell in Row 1. Click and Drag the vertical scrollbar thumb button until you reach the bottom. Row 16 is partly visible yet scrollbar is at bottom.
See image: screenshot-2.png
Steps To ReproduceSteps to reproduce:
 1. Create a new project with widget set = GTK1
 2. Drop a TStringGrid on the form
 3. Set the following StringGrid properties
     Width = 360
     Height = 264
     RowCount = 17
     Options: DrawFocusRect = True
               ScrollKeepVisible = True
     ScollBars = ssAutoBoth
 4. FormCreate event handler as follows... just to make scrolling more visible.
 

procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to Stringgrid1.RowCount-1 do
    StringGrid1.Cells[2, i] := IntToStr(i);
end;

 5. Run the application.


Test 0000001:
  Click on a cell in Row 1. Press DOWN arrow until you reach the bottom. Row 16 is fully visible and ScrollBar is at bottom. See image: screenshot-1.png

Test 0000002:
  Click on a cell in Row 1. Click the DOWN button of the vertical scrollbar until you reach the bottom. Everything works, Row 16 is fully visible and scrollbar is at bottom.

Test 0000003: (bug)
  Click on a cell in Row 1. Click and Drag the vertical scrollbar thumb button until you reach the bottom. Row 16 is partly visible yet scrollbar is at bottom.
See image: screenshot-2.png
Tagsgrids
Fixed in Revision26739
LazTarget1.0
WidgetsetGTK
Attached Files

Activities

2008-04-02 16:18

 

Screenshot-1.png (8,015 bytes)
Screenshot-1.png (8,015 bytes)

2008-04-02 16:18

 

Screenshot-2.png (7,633 bytes)
Screenshot-2.png (7,633 bytes)

Graeme Geldenhuys

2008-04-02 16:20

reporter   ~0018556

Oops! Sorry I got the two images wrong way round. Test 1 & 2 refer to screenshot-2.png and Test 3 refers to screenshot-1.png

Issue History

Date Modified Username Field Change
2008-04-02 16:18 Graeme Geldenhuys New Issue
2008-04-02 16:18 Graeme Geldenhuys File Added: Screenshot-1.png
2008-04-02 16:18 Graeme Geldenhuys Widgetset => GTK
2008-04-02 16:18 Graeme Geldenhuys File Added: Screenshot-2.png
2008-04-02 16:20 Graeme Geldenhuys Note Added: 0018556
2008-04-02 23:30 Vincent Snijders LazTarget => 1.0
2008-04-02 23:30 Vincent Snijders Status new => acknowledged
2008-04-03 20:03 Jesus Reyes Status acknowledged => assigned
2008-04-03 20:03 Jesus Reyes Assigned To => Jesus Reyes
2008-04-24 09:57 Vincent Snijders Target Version => 1.0.0
2010-03-15 04:31 Jesus Reyes Tag Attached: grids
2010-07-19 21:21 Jesus Reyes Fixed in Revision => 26739
2010-07-19 21:21 Jesus Reyes Status assigned => resolved
2010-07-19 21:21 Jesus Reyes Fixed in Version => 0.9.29 (SVN)
2010-07-19 21:21 Jesus Reyes Resolution open => fixed
2011-12-01 11:24 Marc Weustink Status resolved => closed