]> SALOME platform Git repositories - plugins/blsurfplugin.git/commitdiff
Salome HOME
raise PreCAD errors as Compute errors and retrieve warning messages related to licens...
authorbourcier <bourcier>
Tue, 6 Aug 2013 06:51:29 +0000 (06:51 +0000)
committerbourcier <bourcier>
Tue, 6 Aug 2013 06:51:29 +0000 (06:51 +0000)
src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx

index 067cda4be6adfa16ea91cf879016258281f5f7da..c7b098bbb431127322341aa843a6a2579a392b23 100644 (file)
@@ -2610,8 +2610,22 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh&         aMesh,
     if(status != STATUS_OK){
       // TODO: raise an error if status < 0.
       cout << "================ WARNING =================== \n";
-      cout << "PreCAD processing failed with error code " << status << "\n";
+      stringstream msg;
+      msg << "PreCAD processing failed with error code " << status << "\n";
+      msg << *mcud._error;
+      cout << msg.str();
       cout << "============================================ \n";
+      // the text of _comment is set in message_cb by mcud->_error
+      // => No need to append msg to _comment
+      if (status > 0)
+        {
+          // TODO: fix the SIGSEGV of COMPERR_WARNING with 2 launches
+          error(COMPERR_WARNING, _comment);
+        }
+      if (status < 0)
+        {
+          error(_comment);
+        }
     }
     else {
       // retrieve the pre-processed CAD object
@@ -3324,7 +3338,8 @@ status_t message_cb(message_t *msg, void *user_data)
   message_get_description(msg, &desc);
   string err( desc );
   message_cb_user_data * mcud = (message_cb_user_data*)user_data;
-  if ( errnumber < 0 || err.find("license") != string::npos ) {
+  // Get all the error message and some warning messages related to license and periodicity
+  if ( errnumber < 0 || err.find("license") != string::npos || err.find("periodicity") != string::npos ) {
     // remove ^A from the tail
     int len = strlen( desc );
     while (len > 0 && desc[len-1] != '\n')