Suppressed double hiding/deletion of caret which can cause the caret to go missing from a different window that's currently focused

This commit is contained in:
JulianSmart
2015-09-28 14:18:34 +01:00
parent 40430585d6
commit 965786a0fa

View File

@@ -705,6 +705,8 @@ bool ScintillaWX::CreateSystemCaret() {
bool ScintillaWX::DestroySystemCaret() { bool ScintillaWX::DestroySystemCaret() {
#ifdef __WXMSW__ #ifdef __WXMSW__
if (sysCaretBitmap)
{
::HideCaret(GetHwndOf(stc)); ::HideCaret(GetHwndOf(stc));
BOOL retval = ::DestroyCaret(); BOOL retval = ::DestroyCaret();
if (sysCaretBitmap) { if (sysCaretBitmap) {
@@ -712,6 +714,9 @@ bool ScintillaWX::DestroySystemCaret() {
sysCaretBitmap = 0; sysCaretBitmap = 0;
} }
return retval != 0; return retval != 0;
}
else
return false;
#else #else
return false; return false;
#endif #endif