websocket: Fix crash at exit when not running the editor
EditorDebuggerServer::register_protocol_handler must not be called before editor initialization. Otherwise, if the editor is never initialized, the added StringName will not be released until static destructors are called (instead of being release during editor deinitialization).
This commit is contained in:
parent
6815bf42b3
commit
18332a0094
1 changed files with 8 additions and 1 deletions
|
@ -42,9 +42,16 @@
|
|||
#endif
|
||||
#ifdef TOOLS_ENABLED
|
||||
#include "editor/debugger/editor_debugger_server.h"
|
||||
#include "editor/editor_node.h"
|
||||
#include "editor_debugger_server_websocket.h"
|
||||
#endif
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
static void _editor_init_callback() {
|
||||
EditorDebuggerServer::register_protocol_handler("ws://", EditorDebuggerServerWebSocket::create);
|
||||
}
|
||||
#endif
|
||||
|
||||
void register_websocket_types() {
|
||||
#ifdef JAVASCRIPT_ENABLED
|
||||
EMWSPeer::make_default();
|
||||
|
@ -62,7 +69,7 @@ void register_websocket_types() {
|
|||
ClassDB::register_custom_instance_class<WebSocketPeer>();
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
EditorDebuggerServer::register_protocol_handler("ws://", EditorDebuggerServerWebSocket::create);
|
||||
EditorNode::add_init_callback(&_editor_init_callback);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue