Salome HOME
Cyclic invocation of method "show" was removed.
authorstv <stv@opencascade.com>
Fri, 16 Dec 2005 07:08:10 +0000 (07:08 +0000)
committerstv <stv@opencascade.com>
Fri, 16 Dec 2005 07:08:10 +0000 (07:08 +0000)
src/Qtx/QtxMainWindow.cxx
src/Qtx/QtxMainWindow.h

index 41b5bbee79e21bbb5a1b59cc1ee2f89fbe75397a..b8968ef8c025d5d2c3f1cd8c1493f475b0c24936 100644 (file)
@@ -224,17 +224,29 @@ void QtxMainWindow::loadGeometry( QtxResourceMgr* resMgr, const QString& section
   resize( win_w, win_h );
   move( win_x, win_y );
 
-  myMode = winState;
+  myMode = -1;
 
-  vis ? show() : hide();
+  if ( vis )
+    QApplication::postEvent( this, new QCustomEvent( QEvent::User, (void*)winState ) );
+  else
+    myMode = winState;
 }
 
 void QtxMainWindow::show()
 {
-  int mode = myMode;
+  if ( myMode != -1 )
+    QApplication::postEvent( this, new QCustomEvent( QEvent::User, (void*)myMode ) );
 
   myMode = -1;
 
+  QMainWindow::show();
+}
+
+void QtxMainWindow::customEvent( QCustomEvent* e )
+{
+  QMainWindow::customEvent( e );
+
+  int mode = (int)e->data();
   switch ( mode )
   {
   case WS_Normal:
@@ -247,8 +259,6 @@ void QtxMainWindow::show()
     showMaximized();
     break;
   }
-
-  QMainWindow::show();
 }
 
 int QtxMainWindow::relativeCoordinate( const int type, const int WH, const int wh ) const
index 3d9a1922c47291d8bebf8c5e6a32336fe63c763d..c2aa1bdb7fc9ab6455148c9e50e7bc73b5cd429f 100644 (file)
@@ -59,6 +59,7 @@ public slots:
 
 protected:
   virtual void      setUpLayout();
+  virtual void      customEvent( QCustomEvent* );
 
 private slots:
   void              onDestroyed( QObject* );