From c876ccb5329dfb333ec5851532f65876348c569b Mon Sep 17 00:00:00 2001 From: Xi Yan Date: Thu, 18 Oct 2018 16:33:31 -0400 Subject: Bug 540083 - [GTK3] Compare editor arrows broken on scroll Send an extra redraw() in BufferedCanvas.repaint() on GTK if the compare editor is scrolled. This is needed because GTK does not gaurantee that what you draw directly on a windowing surface is going to be rendered on screen. Change-Id: I9dd960ab235037536b12b6d70ab187b9d5e161f3 Signed-off-by: Xi Yan Signed-off-by: Andrey Loskutov --- bundles/org.eclipse.compare/META-INF/MANIFEST.MF | 2 +- .../compare/org/eclipse/compare/internal/BufferedCanvas.java | 4 ++++ bundles/org.eclipse.compare/pom.xml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'bundles') diff --git a/bundles/org.eclipse.compare/META-INF/MANIFEST.MF b/bundles/org.eclipse.compare/META-INF/MANIFEST.MF index 7c72097e4..21c34b9ad 100644 --- a/bundles/org.eclipse.compare/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.compare/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.compare; singleton:=true -Bundle-Version: 3.7.300.qualifier +Bundle-Version: 3.7.400.qualifier Bundle-Activator: org.eclipse.compare.internal.CompareUIPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BufferedCanvas.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BufferedCanvas.java index 10aa036b2..6bfeb59b3 100644 --- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BufferedCanvas.java +++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BufferedCanvas.java @@ -13,6 +13,7 @@ *******************************************************************************/ package org.eclipse.compare.internal; +import org.eclipse.jface.util.Util; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.*; import org.eclipse.swt.widgets.Canvas; @@ -51,6 +52,9 @@ public abstract class BufferedCanvas extends Canvas { GC gc= new GC(this); doubleBufferPaint(gc); gc.dispose(); + if (Util.isGtk()) { + redraw(); + } } } diff --git a/bundles/org.eclipse.compare/pom.xml b/bundles/org.eclipse.compare/pom.xml index cac47240f..468a44841 100644 --- a/bundles/org.eclipse.compare/pom.xml +++ b/bundles/org.eclipse.compare/pom.xml @@ -19,6 +19,6 @@ org.eclipse.compare org.eclipse.compare - 3.7.300-SNAPSHOT + 3.7.400-SNAPSHOT eclipse-plugin -- cgit v1.2.3