workaround gef diagram paint issue since partial redrawing 
diff --git a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/BufferedGraphicsSource.java b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/BufferedGraphicsSource.java
index b53d64b..68fb19e 100644
--- a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/BufferedGraphicsSource.java
+++ b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/BufferedGraphicsSource.java
@@ -121,7 +121,7 @@
 			graphics = new SWTGraphics(controlGC);
 		}
 
-		//graphics.setClip(inUse);
+		graphics.setClip(inUse);
 		return graphics;
 	}
 
diff --git a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/NativeGraphicsSource.java b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/NativeGraphicsSource.java
index c71b5e4..c5f76f0 100644
--- a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/NativeGraphicsSource.java
+++ b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/NativeGraphicsSource.java
@@ -44,7 +44,14 @@
 	 * @see GraphicsSource#getGraphics(Rectangle)
 	 */
 	public Graphics getGraphics(Rectangle r) {
-		canvas.redraw(r.x, r.y, r.width, r.height, false);
+		//RAP [am]
+		// since 423952 fix, partial redraw is implemented in RAP
+		// it breaks GEF port as now for some reasons some part
+		// of canvas disappear during redraw event
+		
+		//canvas.redraw(r.x, r.y, r.width, r.height, false);
+		canvas.redraw();
+		//ENDRAP
 		canvas.update();
 		return null;
 	}
diff --git a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/SWTGraphics.java b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/SWTGraphics.java
index 5bdc454..3abd845 100644
--- a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/SWTGraphics.java
+++ b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/SWTGraphics.java
@@ -887,10 +887,10 @@
 			// - FILL_RULE_WHOLE_NUMBER);
 			// }
 
-			// if ((changes & AA_MASK) != 0) {
-			// gc.setAntialias(((hints & AA_MASK) >> AA_SHIFT)
-			// - AA_WHOLE_NUMBER);
-			// }
+			 if ((changes & AA_MASK) != 0) {
+				 gc.setAntialias(((hints & AA_MASK) >> AA_SHIFT)
+						 - AA_WHOLE_NUMBER);
+			 }
 
 			if ((changes & AA_MASK) != 0) {
 				gc.setAntialias(((hints & AA_MASK) >> AA_SHIFT)
@@ -1106,7 +1106,7 @@
 			// it works.
 			appliedState.graphicHints ^= FILL_RULE_MASK;
 		}
-//		gc.setClipping(path);
+		gc.setClipping(path);
 		appliedState.relativeClip = currentState.relativeClip = null;
 	}
 
@@ -1135,14 +1135,16 @@
 		if (!clipping.isEmpty()) {
 			// UNSUPPORTED - api is not implemented in RAP
 			// Path flatPath = new Path(path.getDevice(), path, 0.01f);
-			// PathData pathData = flatPath.getPathData();
-			// flatPath.dispose();
+			Path flatPath = new Path(path.getDevice(), path.getPathData());
+			
+			PathData pathData = flatPath.getPathData();
+			flatPath.dispose();
 			Region region = new Region(path.getDevice());
-			// UNSUPPORTED - api is not implemented in RAP
-			// loadPath(region, pathData.points, pathData.types);
+			
+			loadPath(region, pathData.points, pathData.types);
 			region.intersect(new org.eclipse.swt.graphics.Rectangle(clipping.x,
 					clipping.y, clipping.width, clipping.height));
-//			gc.setClipping(region.getBounds());
+			gc.setClipping(region.getBounds());
 			appliedState.relativeClip = currentState.relativeClip = null;
 			region.dispose();
 		}
diff --git a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/ToolTipHelper.java b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/ToolTipHelper.java
index ab6ae8b..72b2cfe 100644
--- a/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/ToolTipHelper.java
+++ b/bundles/org.eclipse.rap.draw2d/src/org/eclipse/draw2d/ToolTipHelper.java
@@ -116,7 +116,8 @@
 			timer = new Timer(true);
 			timer.schedule(new TimerTask() {
 				public void run() {
-					Display.getDefault().asyncExec(new Runnable() {
+					//[ariddle] - changed for RAP compatibility
+					control.getDisplay().asyncExec(new Runnable() {
 						public void run() {
 							hide();
 						}
diff --git a/bundles/org.eclipse.rap.gef.demo/RAP GEF Demo.launch b/bundles/org.eclipse.rap.gef.demo/RAP GEF Demo.launch
index 268dbb7..7b7a243 100644
--- a/bundles/org.eclipse.rap.gef.demo/RAP GEF Demo.launch
+++ b/bundles/org.eclipse.rap.gef.demo/RAP GEF Demo.launch
@@ -14,7 +14,7 @@
 <intAttribute key="default_start_level" value="4"/>
 <booleanAttribute key="includeOptional" value="false"/>
 <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-8-oracle"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-8-openjdk-amd64"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -consolelog"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true"/>
diff --git a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AbstractFixtureTestCase.java b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AbstractFixtureTestCase.java
index db22409..25f6fc5 100644
--- a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AbstractFixtureTestCase.java
+++ b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AbstractFixtureTestCase.java
@@ -1,10 +1,10 @@
 package org.eclipse.draw2d.test;
 
-import junit.framework.TestCase;
-
 import org.eclipse.rap.rwt.testfixture.internal.Fixture;
 import org.eclipse.swt.widgets.Display;
 
+import junit.framework.TestCase;
+
 public abstract class AbstractFixtureTestCase extends TestCase {
 
 	protected Display display;
@@ -21,7 +21,7 @@
 	 * @see TestCase#setUp()
 	 */
 	protected void setUp() throws Exception {
-		Fixture.setUp();
+		Fixture.setUp(true);
 		display = new Display();
 	}
 
diff --git a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AdvancedGraphicsTests.java b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AdvancedGraphicsTests.java
index 91333c1..f5f4974 100644
--- a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AdvancedGraphicsTests.java
+++ b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/AdvancedGraphicsTests.java
@@ -297,25 +297,29 @@
 		float[] dash = new float[] { 2.5f, 3, 8 };
 
 		Runnable[] tests = new Runnable[] {
-				new LineSettings(new LineAttributes(0.0f, SWT.CAP_FLAT,
-						SWT.JOIN_MITER,
-						org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null, 0, 10)),
-				new LineSettings(new LineAttributes(1.0f, SWT.CAP_FLAT,
-						SWT.JOIN_MITER,
-						org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null, 0, 10)),
-				new LineSettings(new LineAttributes(2.5f, SWT.CAP_FLAT,
-						SWT.JOIN_MITER,
-						org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null, 0, 10)),
+				new LineSettings(
+						new LineAttributes(0.0f, SWT.CAP_FLAT, SWT.JOIN_MITER,
+								org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null,
+								0, 10)),
+				new LineSettings(
+						new LineAttributes(1.0f, SWT.CAP_FLAT, SWT.JOIN_MITER,
+								org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null,
+								0, 10)),
+				new LineSettings(
+						new LineAttributes(2.5f, SWT.CAP_FLAT, SWT.JOIN_MITER,
+								org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null,
+								0, 10)),
 				new LineSettings(new LineAttributes(5.0f, SWT.CAP_FLAT,
 						SWT.JOIN_MITER,
 						org.eclipse.draw2d.rap.swt.SWT.LINE_DASH, null, 0, 10)),
-				new LineSettings(new LineAttributes(5.0f, SWT.CAP_FLAT,
-						SWT.JOIN_ROUND,
-						org.eclipse.draw2d.rap.swt.SWT.LINE_DASHDOTDOT, null,
-						0, 10)),
-				new LineSettings(new LineAttributes(4.5f, SWT.CAP_FLAT,
-						SWT.JOIN_MITER,
-						org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null, 0, 10)),
+				new LineSettings(
+						new LineAttributes(5.0f, SWT.CAP_FLAT, SWT.JOIN_ROUND,
+								org.eclipse.draw2d.rap.swt.SWT.LINE_DASHDOTDOT,
+								null, 0, 10)),
+				new LineSettings(
+						new LineAttributes(4.5f, SWT.CAP_FLAT, SWT.JOIN_MITER,
+								org.eclipse.draw2d.rap.swt.SWT.LINE_SOLID, null,
+								0, 10)),
 				new LineSettings(
 						new LineAttributes(9.0f, SWT.CAP_FLAT, SWT.JOIN_ROUND,
 								org.eclipse.draw2d.rap.swt.SWT.LINE_CUSTOM,
diff --git a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/ImageUtilitiesTest.java b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/ImageUtilitiesTest.java
index 12ea427..dc508e9 100644
--- a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/ImageUtilitiesTest.java
+++ b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/ImageUtilitiesTest.java
@@ -38,6 +38,7 @@
 			result2 = ImageUtilities.createRotatedImage(img2);
 			result3 = ImageUtilities.createRotatedImage(img3);
 		} catch (Throwable error) {
+			error.printStackTrace();
 			fail(error.getMessage() + "\n" + error.getStackTrace()); //$NON-NLS-1$
 		} finally {
 			img1.dispose();
@@ -54,14 +55,14 @@
 
 	public void testRotatingImagesWithDifferentDepths() {
 		Image result1 = null, result2 = null, result3 = null, result4 = null;
-		Image img1 = ImageDescriptor.createFromFile(getClass(),
-				"icons/bits1.bmp").createImage(); //$NON-NLS-1$
-		Image img2 = ImageDescriptor.createFromFile(getClass(),
-				"icons/bits4.bmp").createImage(); //$NON-NLS-1$;
-		Image img3 = ImageDescriptor.createFromFile(getClass(),
-				"icons/bits8.gif").createImage(); //$NON-NLS-1$;
-		Image img4 = ImageDescriptor.createFromFile(getClass(),
-				"icons/bits24.jpg").createImage(); //$NON-NLS-1$;
+		Image img1 = ImageDescriptor
+				.createFromFile(getClass(), "icons/bits1.bmp").createImage(); //$NON-NLS-1$
+		Image img2 = ImageDescriptor
+				.createFromFile(getClass(), "icons/bits4.bmp").createImage(); //$NON-NLS-1$ ;
+		Image img3 = ImageDescriptor
+				.createFromFile(getClass(), "icons/bits8.gif").createImage(); //$NON-NLS-1$ ;
+		Image img4 = ImageDescriptor
+				.createFromFile(getClass(), "icons/bits24.jpg").createImage(); //$NON-NLS-1$ ;
 
 		try {
 			result1 = ImageUtilities.createRotatedImage(img1);
diff --git a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/TextualTests.java b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/TextualTests.java
index 83d2c5a..915aa1f 100644
--- a/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/TextualTests.java
+++ b/tests/org.eclipse.draw2d.test/src/org/eclipse/draw2d/test/TextualTests.java
@@ -48,7 +48,7 @@
 
 		// TODO enhance verification
 		List boldFragments = bold.getFragments();
-		assertTrue(boldFragments.size() == 3);
+		assertEquals(3, boldFragments.size());
 		List italicFragments = italics.getFragments();
 		assertTrue(italicFragments.size() == 2);
 	}