Salome HOME
Merge remote-tracking branch 'origin/V8_3_BR' into ngr/python3_dev
[modules/gui.git] / src / SalomeApp / SalomeApp_Engine_i.cxx
index b26a8424cb7b8c9a0b736e6684cfd298b0159663..16c1fcc29fdbebf2f92f01983c0ac65bc9ae8652 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -305,19 +305,9 @@ CORBA::ORB_var SalomeApp_Engine_i::orb()
   static CORBA::ORB_var _orb;
 
   if ( CORBA::is_nil( _orb ) ) {
-    QStringList args = QApplication::arguments();
-    int argc = args.size();
-    std::vector<std::string> args1(argc);
-    char** argv = new char*[argc];
-    for ( int i = 0; i < argc; ++i ) {
-      args1[i] = args[i].toStdString();
-      argv[i]  = const_cast<char*>( args1[i].c_str() );
-    }
-
+    Qtx::CmdLineArgs args;
     ORB_INIT& init = *SINGLETON_<ORB_INIT>::Instance();
-    _orb = init( argc, argv );
-
-    delete [] argv;
+    _orb = init( args.argc(), args.argv() );
   }
 
   return _orb;
@@ -361,6 +351,9 @@ CORBA::Object_ptr SalomeApp_Engine_i::EngineForComponent( const char* theCompone
   if ( !theComponentName || !strlen( theComponentName ) )
     return anEngine._retn();
 
+  if ( SalomeApp_Application::moduleTitle( theComponentName ).isEmpty() )
+    return anEngine._retn();
+
   std::string aPath( "/SalomeAppEngine/" );
   aPath += theComponentName;
   anEngine = namingService()->Resolve( aPath.c_str() );