Blob Blame History Raw
From 1f910fb2129bc04b508cae95ff4a02f4aa339c24 Mon Sep 17 00:00:00 2001
From: Alexander Kurtakov
Date: Thu, 23 Apr 2015 08:57:32 +0300
Subject: Bug 463041 - [GTK3] dotted lines

Redraw once done scrolling to prevent overlayed stuff around inside the
canvas.

Change-Id: I8cd640232a0863e0d0e3e810f868f7750b97fabc
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>

diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java
index 48e8e78..8611902 100644
--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java	
+++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java	
@@ -11,10 +11,10 @@
 package org.eclipse.swt.widgets;
 
 
+import org.eclipse.swt.*;
 import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.cairo.Cairo;
+import org.eclipse.swt.internal.cairo.*;
 import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.*;
 
 /**
  * Instances of this class provide a surface for drawing
@@ -365,6 +365,13 @@ public void scroll (int destX, int destY, int x, int y, int width, int height, b
 		}
 	}	
 	if (isFocus) caret.setFocus ();
+	/*
+	 * Due to overlay drawing of scrollbars current method of scrolling leaves scrollbar and notifiers for them inside the canvas
+	 * after scroll. Fix is to redraw once done.
+	 */
+	if (OS.GTK_VERSION >= OS.VERSION(3, 16, 0)) {
+		redraw(false);
+	}
 }
 
 @Override