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 <xixiyan@redhat.com>
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.compare/META-INF/MANIFEST.MF b/bundles/org.eclipse.compare/META-INF/MANIFEST.MF
index 7c72097..21c34b9 100644
--- a/bundles/org.eclipse.compare/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.compare/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 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 10aa036..6bfeb59 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 @@
 			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 cac4724..468a448 100644
--- a/bundles/org.eclipse.compare/pom.xml
+++ b/bundles/org.eclipse.compare/pom.xml
@@ -19,6 +19,6 @@
   </parent>
   <groupId>org.eclipse.compare</groupId>
   <artifactId>org.eclipse.compare</artifactId>
-  <version>3.7.300-SNAPSHOT</version>
+  <version>3.7.400-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>