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 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