- if (direction & wxHORIZONTAL == wxHORIZONTAL) m_x = (gdk_screen_width () - m_width) / 2;
- if (direction & wxVERTICAL == wxVERTICAL) m_y = (gdk_screen_height () - m_height) / 2;
- ImplementSetPosition();
+ if (!show && IsModal())
+ {
+ EndModal( wxID_CANCEL );
+ }
+
+ if (show && !m_sizeSet)
+ {
+ /* by calling GtkOnSize here, we don't have to call
+ either after showing the frame, which would entail
+ much ugly flicker nor from within the size_allocate
+ handler, because GTK 1.1.X forbids that. */
+
+ GtkOnSize( m_x, m_y, m_width, m_height );
+ }
+
+ bool ret = wxWindow::Show( show );
+
+ if (show) InitDialog();
+
+ return ret;