eclipse/eclipse-swt-scrolling.patch

43 lines
1.5 KiB
Diff

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