aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2014-06-16 11:20:32 +1000
committerNeil <nyamatongwe@gmail.com>2014-06-16 11:20:32 +1000
commitc54f34fb7c42c4e4b271ed6086e5790d7a97bf00 (patch)
tree4f800a266022d5d8fae8ea50e76098c88c3b7eb8 /src
parent96f0779b2d648c9cbe8b12b1a9cd368898e04803 (diff)
downloadscintilla-mirror-c54f34fb7c42c4e4b271ed6086e5790d7a97bf00.tar.gz
Fix crashes on Ubuntu 12.04 caused by overlay scrolll bar causing the drawing
surface to be finished.
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 63d45158b..18eafa271 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -1830,6 +1830,13 @@ void Editor::PaintSelMargin(Surface *surfWindow, PRectangle &rc) {
RefreshStyleData();
RefreshPixMaps(surfWindow);
+ // On GTK+ with Ubuntu overlay scroll bars, the surface may have been finished
+ // at this point. The Initialised call checks for this case and sets the status
+ // to be bad which avoids crashes in following calls.
+ if (!surfWindow->Initialised()) {
+ return;
+ }
+
PRectangle rcMargin = GetClientRectangle();
Point ptOrigin = GetVisibleOriginInMain();
rcMargin.Move(0, -ptOrigin.y);