X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a365b7d3f8598b0c7d98a150c47f0211d27437e..7db91489d6b52bee2d7dce74ef0a81b657c9eec6:/src/gtk1/frame.cpp?ds=sidebyside diff --git a/src/gtk1/frame.cpp b/src/gtk1/frame.cpp index ccb8237a04..9bd428174f 100644 --- a/src/gtk1/frame.cpp +++ b/src/gtk1/frame.cpp @@ -23,7 +23,8 @@ #define XIconifyWindow XICONIFYWINDOW #endif -#include "wx/frame.h" +#include "wx/defs.h" + #include "wx/dialog.h" #include "wx/control.h" #include "wx/app.h" @@ -64,11 +65,8 @@ extern int g_openDialogs; // event tables // ---------------------------------------------------------------------------- -#ifdef __WXUNIVERSAL__ - IMPLEMENT_DYNAMIC_CLASS(wxFrameGTK, wxWindow) -#else - IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameGTK) - IMPLEMENT_DYNAMIC_CLASS(wxFrameGTK, wxWindow) +#ifndef __WXUNIVERSAL__ + IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow) #endif // ---------------------------------------------------------------------------- @@ -1230,9 +1228,14 @@ void wxFrameGTK::Iconize( bool iconize ) { if (iconize) { - XIconifyWindow( GDK_WINDOW_XDISPLAY( m_widget->window ), - GDK_WINDOW_XWINDOW( m_widget->window ), - DefaultScreen( GDK_DISPLAY() ) ); + GdkWindow *window = m_widget->window; + + // you should do it later, for example from OnCreate() handler + wxCHECK_RET( window, _T("frame not created yet - can't iconize") ); + + XIconifyWindow( GDK_WINDOW_XDISPLAY( window ), + GDK_WINDOW_XWINDOW( window ), + DefaultScreen( GDK_DISPLAY() ) ); } } @@ -1248,15 +1251,5 @@ void wxFrameGTK::SetIconizeState(bool iconize) m_isIconized = iconize; (void)SendIconizeEvent(iconize); } - else - { - // this is not supposed to happen if we're called only from - // gtk_frame_(un)map_callback! - - // RR: I don't understand this test. Upon startup, the frame is - // not iconized by default, it has just not been created - // yet. - ///wxFAIL_MSG( _T("unexpected call to SendIconizeEvent ignored") ); - } }