Fix webkit/dnd crash, ebz#463615

This commit is contained in:
Mat Booth 2015-04-01 10:50:18 +01:00
parent b601743088
commit 9bf8f5629c
2 changed files with 59 additions and 1 deletions

51
eclipse-bug-463615.patch Normal file
View File

@ -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 ();
+ }
}
/**

View File

@ -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 <mat.booth@redhat.com> - 1:4.4.2-4
- Fix webkit/dnd crash, ebz#463615
* Tue Mar 31 2015 Mat Booth <mat.booth@redhat.com> - 1:4.4.2-3
- Rebuild for new eclipse-ecf