Peter Böhm
2014-06-04 15:18:30 UTC
Hello,
after upgrade from wx-2.9.5 to 3.0.0 I stumbled upon the mentioned issue
in our applications.
To verify that the problem is not related to code of our application I
used a clean wxWidgets installation with no changes to setup.h and a
modified minimal-sample. Unicode and non-unicode builds were tested.
The modification to minimal.cpp (see attachment) consists of one
test-control derived from wxWindow and a test-dialog derived from
wxDialog. The native wxGrid ist created in the control's constructor and
the control is created in the dialog's constructor. The dialog is shown
modal in OnAbout previous to the wxMessageBox() call.
When minimal is started a click on Help->About opens the test-dialog
displaying the grid (just one cell in this case). After closing the
test-dialog the familiar about-box is shown. Well behavior until now.
Open the test-dialog again and now click into the cell. Then trying to
close the dialog will lead in a nonrespondent application.
By tracing through the wxWidgets code I found that within the dialogs
event-loop the call to ::PeekMessage() doesn't return. Here I got lost
and that's why I call the list. I guess this could by a bug within
wxWidgets. This is no weird code, isn't it?
There is no problem in case of showing the dialog non-modal or replacing
the wxGrid by a wxTextCtrl or creating the grid directly in the dialog's
ctor. For verifying this the code offers #if switches.
My system:
Win-7
mingw with gcc-4.7.2
wxWidgets-3.0.0 build using
mingw32-make -j 4 -f makefile.gcc BUILD=release UNICODE=0 SHARED=0
MONOLITHIC=1
I hope someone has any clue...
Peter
after upgrade from wx-2.9.5 to 3.0.0 I stumbled upon the mentioned issue
in our applications.
To verify that the problem is not related to code of our application I
used a clean wxWidgets installation with no changes to setup.h and a
modified minimal-sample. Unicode and non-unicode builds were tested.
The modification to minimal.cpp (see attachment) consists of one
test-control derived from wxWindow and a test-dialog derived from
wxDialog. The native wxGrid ist created in the control's constructor and
the control is created in the dialog's constructor. The dialog is shown
modal in OnAbout previous to the wxMessageBox() call.
When minimal is started a click on Help->About opens the test-dialog
displaying the grid (just one cell in this case). After closing the
test-dialog the familiar about-box is shown. Well behavior until now.
Open the test-dialog again and now click into the cell. Then trying to
close the dialog will lead in a nonrespondent application.
By tracing through the wxWidgets code I found that within the dialogs
event-loop the call to ::PeekMessage() doesn't return. Here I got lost
and that's why I call the list. I guess this could by a bug within
wxWidgets. This is no weird code, isn't it?
There is no problem in case of showing the dialog non-modal or replacing
the wxGrid by a wxTextCtrl or creating the grid directly in the dialog's
ctor. For verifying this the code offers #if switches.
My system:
Win-7
mingw with gcc-4.7.2
wxWidgets-3.0.0 build using
mingw32-make -j 4 -f makefile.gcc BUILD=release UNICODE=0 SHARED=0
MONOLITHIC=1
I hope someone has any clue...
Peter
--
Please read http://www.wxwidgets.org/support/mlhowto.htm before posting.
To unsubscribe, send email to wx-users+***@googlegroups.com
or visit http://groups.google.com/group/wx-users
Please read http://www.wxwidgets.org/support/mlhowto.htm before posting.
To unsubscribe, send email to wx-users+***@googlegroups.com
or visit http://groups.google.com/group/wx-users