From 965786a0fa0426933fc5db3ae85ff5556a9322e2 Mon Sep 17 00:00:00 2001 From: JulianSmart Date: Mon, 28 Sep 2015 14:18:34 +0100 Subject: [PATCH] Suppressed double hiding/deletion of caret which can cause the caret to go missing from a different window that's currently focused --- src/stc/ScintillaWX.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp index b639c0320d..7bc3d8c050 100644 --- a/src/stc/ScintillaWX.cpp +++ b/src/stc/ScintillaWX.cpp @@ -705,13 +705,18 @@ bool ScintillaWX::CreateSystemCaret() { bool ScintillaWX::DestroySystemCaret() { #ifdef __WXMSW__ - ::HideCaret(GetHwndOf(stc)); - BOOL retval = ::DestroyCaret(); - if (sysCaretBitmap) { - ::DeleteObject(sysCaretBitmap); - sysCaretBitmap = 0; + if (sysCaretBitmap) + { + ::HideCaret(GetHwndOf(stc)); + BOOL retval = ::DestroyCaret(); + if (sysCaretBitmap) { + ::DeleteObject(sysCaretBitmap); + sysCaretBitmap = 0; + } + return retval != 0; } - return retval != 0; + else + return false; #else return false; #endif