The code in file data_view_osx_.cpp for method wxOSXDataViewModelNotifier::ItemDelete line 239 is
wxOSXDVCScopedDeleter setDeleting(m_DataViewCtrlPtr, parent);
This means that the item's parent is marked as to be deleted which is obviously wrong because in flat DataView models each item's parent is always invalid. This has the consequence that the whole data view is marked as being deleted as "wxDataViewCtrl::IsClearing()" will always report "true".
The constructor's second parameter should read "item".
PS: When reading further the next following line
bool ok = m_DataViewCtrlPtr->GetDataViewPeer()->Remove(parent);
MUST have the parameter "parent". Because here the native data view control has to be refreshed by starting from the item's parent. If the parent is invalid, the whole data view control will be refreshed (there is no possibility in macOS to report that the outline view has to be updated starting from row 'n' where the deletion took place).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
BTW, how does this manifest itself from the application point of view? I'd like to describe the fix in the change log, but I have trouble finding a good (short) description of it, could you please help? TIA!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()