diff --git a/eclipse-bug-463615.patch b/eclipse-bug-463615.patch new file mode 100644 index 0000000..7e82ed6 --- /dev/null +++ b/eclipse-bug-463615.patch @@ -0,0 +1,51 @@ +diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +index de2dcd9..bea9439 100644 +--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java ++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +@@ -5570,7 +5570,13 @@ void update (boolean all, boolean flush) { + if (!gtk_widget_get_realized (handle)) return; + long /*int*/ window = paintWindow (); + if (flush) display.flushExposes (window, all); +- OS.gdk_window_process_updates (window, all); ++ /* ++ * Do not send expose events on GTK 3.16.0+ ++ * It's worth checking whether can be removed on all GTK 3 versions. ++ */ ++ if (OS.GTK_VERSION < OS.VERSION(3, 16, 0)) { ++ OS.gdk_window_process_updates (window, all); ++ } + OS.gdk_flush (); + } + +diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +index 92a7a2d..7d19307 100644 +--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java ++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +@@ -12,10 +12,10 @@ package org.eclipse.swt.widgets; + + + import org.eclipse.swt.*; ++import org.eclipse.swt.graphics.*; + import org.eclipse.swt.internal.*; + import org.eclipse.swt.internal.cairo.*; + import org.eclipse.swt.internal.gtk.*; +-import org.eclipse.swt.graphics.*; + + /** + * Instances of this class are responsible for managing the +@@ -4657,7 +4657,13 @@ static int untranslateKey (int key) { + public void update () { + checkDevice (); + flushExposes (0, true); +- OS.gdk_window_process_all_updates (); ++ /* ++ * Do not send expose events on GTK 3.16.0+ ++ * It's worth checking whether can be removed on all GTK 3 versions. ++ */ ++ if (OS.GTK_VERSION < OS.VERSION(3, 16, 0)) { ++ OS.gdk_window_process_all_updates (); ++ } + } + + /** + diff --git a/eclipse.spec b/eclipse.spec index 4d0e483..717d636 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -38,7 +38,7 @@ Epoch: 1 Summary: An open, extensible IDE Name: %{?scl_prefix}eclipse Version: %{eclipse_version} -Release: 3%{?dist} +Release: 4%{?dist} License: EPL Group: Development/Tools URL: http://www.eclipse.org/ @@ -124,6 +124,9 @@ Patch26: %{pkg_name}-feature-plugins-to-category-ius.patch # Require hamcrest when using directly (cannot rely on junit reexporting it) Patch28: eclipse-direct-hamcrest-use.patch +# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=463615 +Patch29: eclipse-bug-463615.patch + BuildRequires: rsync BuildRequires: make, gcc BuildRequires: gtk2-devel @@ -337,6 +340,7 @@ tar --strip-components=1 -xf %{SOURCE1} %patch25 %patch26 %patch28 +%patch29 -p1 #Disable as many things as possible to make the build faster. We care only for Eclipse. %pom_disable_module platform.sdk eclipse.platform.releng.tychoeclipsebuilder @@ -1023,6 +1027,9 @@ fi %{_libdir}/%{pkg_name}/plugins/org.eclipse.osgi.compatibility.state_* %changelog +* Wed Apr 01 2015 Mat Booth - 1:4.4.2-4 +- Fix webkit/dnd crash, ebz#463615 + * Tue Mar 31 2015 Mat Booth - 1:4.4.2-3 - Rebuild for new eclipse-ecf