diff options
Diffstat (limited to 'tools/editor/fileserver/editor_file_server.cpp')
| -rw-r--r-- | tools/editor/fileserver/editor_file_server.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tools/editor/fileserver/editor_file_server.cpp b/tools/editor/fileserver/editor_file_server.cpp index 7ee33426a..f21d9b4ec 100644 --- a/tools/editor/fileserver/editor_file_server.cpp +++ b/tools/editor/fileserver/editor_file_server.cpp @@ -311,18 +311,39 @@ void EditorFileServer::stop(){ EditorFileServer::EditorFileServer() { server = TCP_Server::create_ref(); - thread=Thread::create(_thread_start,this); wait_mutex = Mutex::create(); quit=false; active=false; cmd=CMD_NONE; + thread=Thread::create(_thread_start,this); + List<IP_Address> local_ip; + IP::get_singleton()->get_local_addresses(&local_ip); EDITOR_DEF("file_server/port",6010); + String lip; + String hint; + for(List<IP_Address>::Element *E=local_ip.front();E;E=E->next()) { + + String ip = E->get(); + if (ip=="127.0.0.1") + continue; + + if (lip!="") + lip=ip; + if (hint!="") + hint+=","; + hint+=ip; + + } + + EDITOR_DEF("file_server/host",lip); + EditorSettings::get_singleton()->add_property_hint(PropertyInfo(Variant::STRING,"file_server/host",PROPERTY_HINT_ENUM,hint)); EDITOR_DEF("file_server/password",""); } EditorFileServer::~EditorFileServer() { + quit=true; Thread::wait_to_finish(thread); memdelete(wait_mutex); |
