Open rmottola opened 1 month ago
Here it calls the outlineView data source method with a different method than we do. We use expandItem: nil, they use _nonStaticDataSourceChild:ofItem:. While our implementation is functionally correct, and conforms to the documentation, this results in slightly different behavior. Also, I believe as mentioned above, Apple is deduplicating items per child, so they are only displayed once. Also see below... the data source is called with item = nil...
I think we need to write a test if the duplication is being done per-item or only at the root level.
Tested our theory... It appears it is not deduplicated. I think what we have is good enough.
The root item of an OutlineView is expected to be nil. GNUmail (check MailboxManagerController.m reloadAllFolders) calls directly with the root item (in that case an array). Apple apparently deduplicates and works, while GNUstep will descend and expand first nil to the array and then put the array as first level item. Apple somehow "notices" they are the same. [NSOutlineView expandItem]