diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index 741d196c318505ac716fc61b329b6bb480d2ff24..a955597dc10c25c8e710449175178afabf2466e9 100644 --- a/Fltk/onelabWindow.cpp +++ b/Fltk/onelabWindow.cpp @@ -75,8 +75,23 @@ bool onelab::localNetworkClient::run(const std::string &what) _pid = 0; onelabGmshServer *server = new onelabGmshServer(this); - std::string sockname = CTX::instance()->solver.socketName; - std::string command = _commandLine + " " + what + " -onelab " + sockname; + std::string sockname; + if(!strstr(CTX::instance()->solver.socketName.c_str(), ":")){ + // Unix socket + std::ostringstream tmp; + tmp << CTX::instance()->homeDir << CTX::instance()->solver.socketName; + sockname = FixWindowsPath(tmp.str()); + } + else{ + // TCP/IP socket + sockname = CTX::instance()->solver.socketName; + // if only the port is given, prepend the host name + if(sockname.size() && sockname[0] == ':') + sockname = GetHostName() + sockname; + } + + std::string prog = FixWindowsPath(_commandLine); + std::string command = prog + " " + what + " -onelab " + sockname; #if !defined(WIN32) command += " &"; #endif @@ -200,6 +215,16 @@ bool onelab::localNetworkClient::run(const std::string &what) ParseString(message); drawContext::global()->draw(); break; + /* FIXME need to change PViewDataRemote to work without ConnectionManager + case GmshSocket::GMSH_VERTEX_ARRAY: + { + int n = PView::list.size(); + PView::fillVertexArray(this, length, &message[0], swap); + FlGui::instance()->updateViews(n != (int)PView::list.size()); + drawContext::global()->draw(); + } + break; + */ default: Msg::Warning("Received unknown message type (%d)", type); break;