Salome HOME
Merge branch 'V7_dev'
[modules/yacs.git] / src / genericgui / GenericGui.cxx
index 845ee4b77be3f2b3ea3c46cde71820624e55d5e1..f5317dec5f8b11711ce69a6eb82b069b54245e44 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2006-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2006-2016  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -1437,11 +1437,11 @@ void GenericGui::onImportSupervSchema()
       QString aCall = "salomeloader."+ fileExt+ " "+ fn + " " + tmpFileName + " > " + tmpOutput;
       DEBTRACE(aCall.toStdString());
       
-      int ret = system(aCall.toAscii());
+      int ret = system(aCall.toLatin1());
       if(ret != 0)
         {
           // --- read file with logs
-          fstream f(tmpOutput.toAscii());
+          fstream f(tmpOutput.toLatin1());
           stringstream hfile;
           hfile << f.rdbuf();
           f.close();
@@ -1516,8 +1516,8 @@ QString GenericGui::getSaveFileName(const QString& fileName)
   filters << "XML files (*.xml)"
           << "Any files (*)";
   dialog.setFileMode(QFileDialog::AnyFile);
-  dialog.setFilters(filters);
-  dialog.selectFilter("(*.xml)");
+  dialog.setNameFilters(filters);
+  dialog.selectNameFilter("(*.xml)");
   dialog.setDefaultSuffix("xml");
   dialog.setConfirmOverwrite(true);
   //dialog.setConfirmOverwrite(false);  // bug Qt4.3.3
@@ -2555,7 +2555,11 @@ void GenericGui::onUndo()
 {
   DEBTRACE("GenericGui::onUndo");
   if (QtGuiContext::getQtCurrent()->_setOfModifiedSubjects.empty())
+  {
     QtGuiContext::getQtCurrent()->getInvoc()->undo();
+    // Empty the clipboard in order to avoid the copy of a destroyed object.
+    QtGuiContext::getQtCurrent()->setSubjectToCopy(NULL);
+  }
   else Message("undo not possible when there are local modifications not confirmed");
 }
 
@@ -2563,7 +2567,11 @@ void GenericGui::onRedo()
 {
   DEBTRACE("GenericGui::onRedo");
   if (QtGuiContext::getQtCurrent()->_setOfModifiedSubjects.empty())
+  {
     QtGuiContext::getQtCurrent()->getInvoc()->redo();
+    // Empty the clipboard in order to avoid the copy of a destroyed object.
+    QtGuiContext::getQtCurrent()->setSubjectToCopy(NULL);
+  }
   else Message("redo not possible when there are local modifications not confirmed");
 }