aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2014-11-13 15:38:27 +1100
committerNeil <nyamatongwe@gmail.com>2014-11-13 15:38:27 +1100
commit3662a834844d3b83547220d68044ca2b07d52a38 (patch)
tree501cd744be4515daab06a79aee03c3301437fcf0
parent0bf2ee129c737946314a036b014a01ca56d9d624 (diff)
downloadscintilla-mirror-3662a834844d3b83547220d68044ca2b07d52a38.tar.gz
Bug [#1643]. Only show system caret for GDI as it interferes with Direct2D.
From Mat Berchtold.
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--win32/ScintillaWin.cxx5
2 files changed, 8 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 374dad6fe..61ed3b7bc 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -505,6 +505,10 @@
<a href="http://sourceforge.net/p/scintilla/feature-requests/1080/">Feature #1080.</a>
</li>
<li>
+ On Windows, only call ShowCaret in GDI mode as it interferes with caret drawing when using Direct2D.
+ <a href="http://sourceforge.net/p/scintilla/bugs/1643/">Bug #1643</a>.
+ </li>
+ <li>
For GTK+ on Windows, avoid extra space when pasting from external application.
</li>
<li>
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index 71cf7fc7d..132aea91a 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -2913,7 +2913,10 @@ BOOL ScintillaWin::CreateSystemCaret() {
BOOL retval = ::CreateCaret(
MainHWND(), sysCaretBitmap,
sysCaretWidth, sysCaretHeight);
- ::ShowCaret(MainHWND());
+ if (technology == SC_TECHNOLOGY_DEFAULT) {
+ // System caret interferes with Direct2D drawing so only show it for GDI.
+ ::ShowCaret(MainHWND());
+ }
return retval;
}