break
fi
done
+
+ # workaround a problem with libGL library location
+ for idir in $dirs; do
+ if test -r "${idir}/libGLU.la"; then
+ GLU_LA_PATH="${idir}/libGLU.la"
+ GL_LA_PATH_TO_CHECK=`cat ${GLU_LA_PATH} | awk '{ for(i=1;i<NF;i++){ if(gsub("libGL.la","&",$i)>0) print $i } }'`
+ if test -z ${GL_LA_PATH_TO_CHECK} || test -r ${GL_LA_PATH_TO_CHECK}; then
+ # nothing to do
+ break
+ fi
+ for jdir in $dirs; do
+ if test -r "${jdir}/libGL.la"; then
+ GL_LA_PATH="${jdir}/libGL.la"
+ # copy the libGLU.la file and set correct libGL.la path in it
+ NEW_GLU_LA_PATH=${ROOT_BUILDDIR}
+ NEW_GLU_LA_FILE="${NEW_GLU_LA_PATH}/libGLU.la"
+ sed -e "s%${GL_LA_PATH_TO_CHECK}%${GL_LA_PATH}%" ${GLU_LA_PATH} > "${NEW_GLU_LA_FILE}"
+ chmod -f --reference=${GLU_LA_PATH} "${NEW_GLU_LA_FILE}"
+ # set a new libGLU.la path
+ GLU_LIB_PATH="-L${NEW_GLU_LA_PATH}"
+ # create a simbolic link to libGLU.so
+ for kdir in $dirs; do
+ if test -r "${kdir}/libGLU.so"; then
+ cp -fs "${kdir}/libGLU.so" "${NEW_GLU_LA_PATH}/libGLU.so"
+ break
+ fi
+ done
+ break
+ fi
+ done
+ break
+ fi
+ done
+
LDFLAGS_old="${LDFLAGS}"
LDFLAGS="${LDFLAGS} ${OGL_LIBS} ${GLU_LIB_PATH}"
AC_CHECK_LIB([GLU],
AC_LANG_RESTORE
])dnl
+
_tstate = Py_NewInterpreter(); // create an interpreter and save current state
PySys_SetArgv(PyInterp_Interp::_argc,PyInterp_Interp::_argv); // initialize sys.argv
+ if(!builtinmodule) // PAL18041: deepcopy function don't work in Salome
+ {
+ //builtinmodule is static member of PyInterp class
+ //If it is not NULL (initialized to the builtin module of the main interpreter
+ //all the sub interpreters will have the same builtin
+ //_interp is a static member and is the main interpreter
+ //The first time we initialized it to the builtin of main interpreter
+ builtinmodule=PyDict_GetItemString(_interp->modules, "__builtin__");
+ }
+
//If builtinmodule has been initialized all the sub interpreters
// will have the same __builtin__ module
if(builtinmodule){
myUserIds = ids;
myUserNames = names;
+
+ unitSystemChanged( "" );
}
/*!
if ( curId != bg->checkedId() )
{
onParamChanged();
- emit paramChanged();
QString str = getString();
+ emit paramChanged();
emit paramChanged( str );
}
}
cmd += QString("[ m.update(i) for i in pids ]; ");
cmd += QString("pids=filter(lambda a: 'notifd' in m[a], m.keys()); ");
cmd += QString("[ os.kill(pid, 9) for pid in pids ]; ");
- cmd = QString("python -c \"%1\"").arg(cmd);
+ cmd += QString("os.remove(filedict); ");
+ cmd = QString("python -c \"%1\" > /dev/null").arg(cmd);
system( cmd.toLatin1().data() );
}
// unlock Session mutex
_SessionMutex.unlock();
- if ( shutdown ) {
+ if ( shutdown )
shutdownServers( _NS );
- killOmniNames();
- }
if ( myServerLauncher )
myServerLauncher->KillAll(); // kill embedded servers
orb->destroy();
}
catch (...) {
- std::cerr << "Caught unexpected exception on destroy : ignored !!" << std::endl;
+ //////////////////////////////////////////////////////////////
+ // VSR: silently skip exception:
+ // CORBA.BAD_INV_ORDER.BAD_INV_ORDER_ORBHasShutdown
+ // exception is raised when orb->destroy() is called and
+ // cpp continer is launched in the embedded mode
+ //////////////////////////////////////////////////////////////
+ // std::cerr << "Caught unexpected exception on destroy : ignored !!" << std::endl;
}
- // if ( shutdown )
- // killOmniNames();
+ if ( shutdown )
+ killOmniNames();
return result;
}