Bug #13877 2008-05-25 15:00
jenslody
Batch-build on linux can cause Gtk-CRITICAL
If a batch-build that was invoked from console does some "real work" (this means compiling) and not only write "Nothing to be done" to dialog and console it leads to the following error-message:
"(codeblocks:8054): Gtk-CRITICAL **: gtk_window_set_modal: assertion `GTK_IS_WINDOW (window)' failed".
The "8054" is not always the same address.
This is caused because the dialog gets ended with "EndModal(wxID_OK)", after the "EndModal" it gets destroyed immediately and is set to 0.
I think this leads to the error, because wxWidgets calls internally "gtk_window_set_modal(GTK_WINDOW(m_widget), FALSE);" after the EventLoop, but if the widget is destroyed in this moment.
If nothing has to be done "EndModal()" is reached before "ShowModal()" and destroying the dialog is the right way to close it.
I don't know if that's the real cause for this error, but it can be avoided by only calling "EndModal()" if the dialog really "IsModal()" and otherwise destroy it.
I will submit a patch that does this and is tested on linux 64-bit and does no harm on windows.
- Category
- Application::Error
- Group
- Status
- Closed
- Close date
- 2008-07-11 15:10
- Assigned to
- mortenmacfly
History
Fixed by applying patch #2483.