aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorMat Berchtold <unknown>2020-02-15 09:02:56 +1100
committerMat Berchtold <unknown>2020-02-15 09:02:56 +1100
commit78c6edfb7534b08a71c3fb9e872d0f3c8a2bc2cc (patch)
tree93940498aff70a4cc3478ec84486f71a96f602e9 /src
parent2761a6e256af7bc378bfab677b0cd8aeafc999b4 (diff)
downloadscintilla-mirror-78c6edfb7534b08a71c3fb9e872d0f3c8a2bc2cc.tar.gz
Bug [#2138]. Potential fix to Direct2D crash when updating driver.
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 016ef3383..9c4ad2d4f 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -1752,7 +1752,13 @@ void Editor::Paint(Surface *surfaceWindow, PRectangle rcArea) {
}
RefreshPixMaps(surfaceWindow); // In case pixmaps invalidated by scrollbar change
}
- PLATFORM_ASSERT(marginView.pixmapSelPattern->Initialised());
+
+ if (!marginView.pixmapSelPattern->Initialised()) {
+ // When Direct2D is used, pixmap creation may fail with D2DERR_RECREATE_TARGET so
+ // abandon this paint to avoid further failures.
+ // Main drawing surface and pixmaps should be recreated by next paint.
+ return;
+ }
if (!view.bufferedDraw)
surfaceWindow->SetClip(rcArea);