52 lines
2.1 KiB
Diff
52 lines
2.1 KiB
Diff
|
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 ();
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
|