View Issue Details

IDProjectCategoryView StatusLast Update
0033896LazarusWidgetsetpublic2018-10-01 15:41
ReporterMIS5Assigned ToDmitry Boyarintsev 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformMac/CocoaOSMacOS Version10.13.5
Product Version1.8.5 (SVN)Product Buildnewest trunk from 20th June 2019 
Target VersionFixed in Version 
Summary0033896: Setting TabVisible := False on TPageControl will render content of following tabs invisible
DescriptionIf you have a TPageControl with e.g. 5 pages then:

Main issue:
And you either runtime or designtime set TabVisible:=False of the middle tab - then the content of the latter two tabs is invisibe when running the program (problem does not manifest itself in he form designer)

Variation:
You can also see a related/same problem by setting all tabs in TPageControl TabVisible:=False - then entire content is gone even if AcivePageIndex is value
Steps To ReproduceCreate a new project with an empty form.
1) Add a TPageControl with e.g. 5 pages.
2) Add a button to each page with different captions.
3) Either design time or runtime set TabVisible property of middle-tab to False.
4) Now the content of the following pages (the buttons) are *gone* (at least not visible)
Additional InformationFor big applications you may not always want all pages visible for all users at all times. Using TabVisible is one way to hide these. (I use it a lot, but this probably varies between developers and type of project)

I originally reported the issue here
http://forum.lazarus.freepascal.org/index.php/topic,41624.0.html
TagsNo tags attached.
Fixed in Revision58419, 58439
LazTarget-
WidgetsetCocoa
Attached Files

Activities

MIS5

2018-06-25 22:33

reporter   ~0109051

Quick note: You only see the problem manifest itself runtime.

Dmitry Boyarintsev

2018-06-30 07:01

developer   ~0109134

please test and close if ok

MIS5

2018-07-03 00:23

reporter   ~0109196

Problem does not seem to have gone away for me... :(

I just now updated to latest trunk by fpcupdeluxe clicking "trunk". My Lazarus about dialog states Version 1.9.0 - date 2018-07-02 - SVN revision: 58429M

Dmitry Boyarintsev

2018-07-03 04:28

developer   ~0109197

Last edited: 2018-07-03 04:28

View 2 revisions

try to remove all cocoa lcl compiled units at
lazarus/lcl/units/x86_64-darwin/cocoa
and try again
(please note, if you're compiling for 32 bit the directory would be: lazarus/lcl/units/i386-darwin/cocoa)

MIS5

2018-07-03 11:38

reporter   ~0109198

Last edited: 2018-07-03 12:20

View 3 revisions

No luck :(

My demo (and real project) project still exhibits *a* problem - but it is kinda peculiar.

Sometimes first time I switch to the trailing tabsheet content is still invisible - but if I return to it later controls become visible - other times it does not work at all.

I have uploaded a demo project now that duplicates problem every time.

MIS5

2018-07-03 12:19

reporter  

case1.zip (133,417 bytes)

MIS5

2018-07-03 12:23

reporter  

case2-see-this-instead.zip (133,467 bytes)

MIS5

2018-07-03 12:24

reporter   ~0109200

Ignore "case1" - See case2-see-this-instead.zip


Essentailly ActivePageIndex starts at first tabsheet. Button sets tabsheet3 invisible. Then selecting tabsheet5 content is invisible

Dmitry Boyarintsev

2018-07-04 21:32

developer   ~0109222

please test and close, if ok

MIS5

2018-07-06 00:25

reporter   ~0109230

I can not check if okay since Lazarus trunk no longer can start and crashes :(

Error backtraces to "TCocoaTabControl.exttabInsertTabViewItem_atIndex. AIndex is out of range (3, in range 0..0)"

which sounds related... But I will check when I can run Lazarus trunk again :)

Dmitry Boyarintsev

2018-07-06 05:26

developer   ~0109233

r58444 then

MIS5

2018-07-08 11:24

reporter   ~0109289

Seems solved - great! Thank you :)

MIS5

2018-09-30 21:43

reporter   ~0111128

Problem has reappeared svn 59191

MIS5

2018-10-01 12:22

reporter   ~0111153

Solved again

Issue History

Date Modified Username Field Change
2018-06-23 14:37 MIS5 New Issue
2018-06-25 22:33 MIS5 Note Added: 0109051
2018-06-30 07:01 Dmitry Boyarintsev Fixed in Revision => 58419
2018-06-30 07:01 Dmitry Boyarintsev LazTarget => -
2018-06-30 07:01 Dmitry Boyarintsev Note Added: 0109134
2018-06-30 07:01 Dmitry Boyarintsev Status new => resolved
2018-06-30 07:01 Dmitry Boyarintsev Resolution open => fixed
2018-06-30 07:01 Dmitry Boyarintsev Assigned To => Dmitry Boyarintsev
2018-07-03 00:23 MIS5 Note Added: 0109196
2018-07-03 04:28 Dmitry Boyarintsev Note Added: 0109197
2018-07-03 04:28 Dmitry Boyarintsev Status resolved => feedback
2018-07-03 04:28 Dmitry Boyarintsev Note Edited: 0109197 View Revisions
2018-07-03 11:38 MIS5 Note Added: 0109198
2018-07-03 11:38 MIS5 Status feedback => assigned
2018-07-03 12:16 MIS5 Note Edited: 0109198 View Revisions
2018-07-03 12:19 MIS5 File Added: case1.zip
2018-07-03 12:20 MIS5 Note Edited: 0109198 View Revisions
2018-07-03 12:23 MIS5 File Added: case2-see-this-instead.zip
2018-07-03 12:24 MIS5 Note Added: 0109200
2018-07-04 21:32 Dmitry Boyarintsev Fixed in Revision 58419 => 58419, 58439
2018-07-04 21:32 Dmitry Boyarintsev Note Added: 0109222
2018-07-04 21:32 Dmitry Boyarintsev Status assigned => resolved
2018-07-06 00:25 MIS5 Note Added: 0109230
2018-07-06 05:26 Dmitry Boyarintsev Note Added: 0109233
2018-07-08 11:24 MIS5 Note Added: 0109289
2018-09-30 21:43 MIS5 Note Added: 0111128
2018-10-01 12:22 MIS5 Note Added: 0111153
2018-10-01 15:41 Dmitry Boyarintsev Status resolved => closed