summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llscripteditorws.cpp7
-rw-r--r--indra/newview/llviewermenu.cpp5
2 files changed, 12 insertions, 0 deletions
diff --git a/indra/newview/llscripteditorws.cpp b/indra/newview/llscripteditorws.cpp
index 72b5b66463..8d24e883e1 100644
--- a/indra/newview/llscripteditorws.cpp
+++ b/indra/newview/llscripteditorws.cpp
@@ -300,6 +300,13 @@ LLScriptEditorWSServer::ptr_t LLScriptEditorWSServer::ensureServerRunning()
ptr_t server = std::static_pointer_cast<LLScriptEditorWSServer>(
wsmgr.findServerByName(DEFAULT_SERVER_NAME));
+ if (server && !server->isRunning())
+ {
+ // thread stopped/was joined
+ wsmgr.removeServer(DEFAULT_SERVER_NAME);
+ server.reset();
+ }
+
if (!server)
{
U16 port = static_cast<U16>(gSavedSettings.getS32("ExternalWebsocketSyncPort"));
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 87a891915e..986d053574 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -5872,6 +5872,11 @@ class LLToolsToggleScriptEditorServer : public view_listener_t
LLScriptEditorWSServer::ensureServerRunning();
}
}
+
+ if (gFloaterTools)
+ {
+ gFloaterTools->dirty();
+ }
return true;
}
};