Bug 487712 - Snippet128 crashes on Fedora 

Bug in ProgressBar due to calling gdk_window_process_updates which sends
expose events for redrawing purposes. But this event is implementation
detail in GTK3 and shouldn't be used from outside and playing with it
leads to race conditions with webkitgtk.
Also GtkProgressBar redraws properly now so trying to force redraw is
useless on GTK 3.

Change-Id: I22373b9e33c83759e0ff9dc2d0600fe39cacb91e
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java
index d6749ef..cbdd8c7 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -301,16 +301,18 @@
 
 	double fraction = minimum == maximum ? 1 : (double)(selection - minimum) / (maximum - minimum);
 	OS.gtk_progress_bar_set_fraction (handle, fraction);
-	/*
-	* Feature in GTK.  The progress bar does
-	* not redraw right away when a value is
-	* changed.  This is not strictly incorrect
-	* but unexpected.  The fix is to force all
-	* outstanding redraws to be delivered.
-	*/
-	long /*int*/ window = paintWindow ();
-	OS.gdk_window_process_updates (window, false);
-	OS.gdk_flush ();
+	if (!OS.GTK3) {
+		/*
+		* Feature in GTK.  The progress bar does
+		* not redraw right away when a value is
+		* changed.  This is not strictly incorrect
+		* but unexpected.  The fix is to force all
+		* outstanding redraws to be delivered.
+		*/
+		long /*int*/ window = paintWindow ();
+		OS.gdk_window_process_updates (window, false);
+		OS.gdk_flush ();
+	}
 }
 
 void gtk_orientable_set_orientation (long /*int*/ pbar, int orientation) {