diff --git a/CHANGES.md b/CHANGES.md index 51d20f3..b8e0040 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,6 +5,10 @@ Versions marked as 'unofficial' are labelled only for the needs of this changelo Change History -------------- +Version: 1.21 (2020/07) +Improving stability +- Fixed a crash in the input handler caused by invalidated by hot-reload instance trying to unregister a delegate. + Version: 1.20 (2020/06) Transition to IWYU and maintenance: - Replaced includes of monolithic headers. diff --git a/ImGui.uplugin b/ImGui.uplugin index 31b6b28..8237120 100644 --- a/ImGui.uplugin +++ b/ImGui.uplugin @@ -1,7 +1,7 @@ { "FileVersion": 3, "Version": 1, - "VersionName": "1.20", + "VersionName": "1.21", "FriendlyName": "ImGui", "Description": "", "Category": "Debug", diff --git a/README.md b/README.md index d5e5123..3d8e653 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Dear ImGui is an immediate-mode graphical user interface library that is very li Status ------ -Version: 1.20 +Version: 1.21 ImGui version: 1.74 diff --git a/Source/ImGui/Private/ImGuiInputHandler.cpp b/Source/ImGui/Private/ImGuiInputHandler.cpp index 14cb7f4..b11f7d6 100644 --- a/Source/ImGui/Private/ImGuiInputHandler.cpp +++ b/Source/ImGui/Private/ImGuiInputHandler.cpp @@ -349,7 +349,9 @@ void UImGuiInputHandler::BeginDestroy() { Super::BeginDestroy(); - if (ModuleManager) + // To catch leftovers from modules shutdown during PIE session. + extern FImGuiModuleManager* ImGuiModuleManager; + if (ModuleManager && ModuleManager == ImGuiModuleManager) { ModuleManager->GetSettings().OnUseSoftwareCursorChanged.RemoveAll(this); } diff --git a/Source/ImGui/Private/ImGuiModule.cpp b/Source/ImGui/Private/ImGuiModule.cpp index e3c1b0c..e7d7ac3 100644 --- a/Source/ImGui/Private/ImGuiModule.cpp +++ b/Source/ImGui/Private/ImGuiModule.cpp @@ -31,7 +31,7 @@ struct EDelegateCategory }; }; -static FImGuiModuleManager* ImGuiModuleManager = nullptr; +FImGuiModuleManager* ImGuiModuleManager = nullptr; #if WITH_EDITOR static FImGuiEditor* ImGuiEditor = nullptr;