diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 3705e6ab60..0f54dc32b9 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -1117,9 +1117,14 @@ void wxFrame::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())); } } diff --git a/src/gtk1/frame.cpp b/src/gtk1/frame.cpp index 3705e6ab60..0f54dc32b9 100644 --- a/src/gtk1/frame.cpp +++ b/src/gtk1/frame.cpp @@ -1117,9 +1117,14 @@ void wxFrame::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())); } }