-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assert in call to wxDataViewListCtrl::EditItem in a second wxDataViewListCtrl #17946
Comments
2017-09-11 22:37:57: josuegomes uploaded file
|
2017-09-11 22:53:52: @oneeyeman1 commentedWhat's your exact GTK+ version? |
2017-09-11 23:19:43: josuegomes commented
Hopefully this answers:
Did nothing, just clicked Add (a new row is added) and then clicked Close. |
2017-09-12 15:40:37: josuegomes commentedAnother test: I changed from modal to non-modal:
And tested like this: open two dialogs, clicked Add in the first dialog, when clicking Add in the second dialog then the assert shows. |
2017-09-12 17:09:13: josuegomes changed title from Assert in a second call to wxDataViewListCtrl::EditItem to Assert in call to wxDataViewListCtrl::EditItem in a second wxDataViewListCtrl |
2017-09-12 17:12:32: josuegomes commentedAfter further testing I found that assert occurs in a call to EditItem in a second wxDataViewListCtrl. I'll provide a patch to the minimal sample (master) to ease the testing. |
2017-09-12 18:20:32: josuegomes uploaded file
|
2017-09-12 18:22:17: josuegomes commentedI have attached a patch for the minimal sample (at master). To reproduce: apply patch, build, run, choose Help, About and again Help, About, in the first dialog click Add, in the second dialog click Add. Below the stacktrace
|
2017-09-13 17:34:30: @vadz changed status from accepted to closed2017-09-13 17:34:30: @vadz set resolution to fixed2017-09-13 17:34:30: @vadz commentedIn 81d9952: This replaces the changes of 24c0401 Replace global ms_firstTime with a wxDataViewCtrlInternal field to avoid Closes #17946. |
2017-09-13 17:36:09: @vadz commentedIn 28aee1b: This replaces the changes of 24c0401 Replace global ms_firstTime with a wxDataViewCtrlInternal field to avoid See #17946. (cherry picked from commit 81d9952) |
This replaces the changes of 24c0401 which, for some reason, used a global variable for storing whether the selection function had been already set or not, when this clearly is a per-control (or per-selection, but this seems one and the same) bit of information. Replace global ms_firstTime with a wxDataViewCtrlInternal field to avoid asserts as soon as EditItem() is called on more than one wxDataViewCtrl. See wxWidgets#17946. (cherry picked from commit 81d9952)
Issue migrated from trac ticket # 17946
component: wxGTK | priority: normal | resolution: fixed
2017-09-11 22:37:41: josuegomes created the issue
I'm getting the following assert when wxDataViewListCtrl::EditItem is called a second time.
../../src/wxwidgets/src/gtk/dataview.cpp(221): assert "gtk_tree_selection_get_select_function(m_selection) == func" failed in CheckCurrentSelectionFunc(): selection function has changed unexpectedly, review this code!
To reproduce: choose Menu, Show Dialog. In the dialog choose Add and then Close.
Again choose Menu, Show Dialog and in the dialog choose Add.
Ubuntu 17.04 x64, tested with master, WX_3_0_BRANCH and WX_3_0_3_BRANCH
Configured with --enable-debug --enable-unicode --disable-universal
Default config is gtk2-unicode-3.0
The text was updated successfully, but these errors were encountered: