Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLakshmi Shanmugam2020-12-01 08:40:32 +0000
committerLakshmi Shanmugam2020-12-01 10:16:34 +0000
commitb1a96f8b7ddee3511eabccef091799dbc9900595 (patch)
tree01de1abe43279ccc71631efd5d03ac3fec1ca8b5
parent70ae20c7491327e848a80d35b97029c8c98a4961 (diff)
downloadeclipse.platform.swt-b1a96f8b7ddee3511eabccef091799dbc9900595.tar.gz
eclipse.platform.swt-b1a96f8b7ddee3511eabccef091799dbc9900595.tar.xz
eclipse.platform.swt-b1a96f8b7ddee3511eabccef091799dbc9900595.zip
Bug 569147 - [BigSur] Control#update() causes losing dirty state without
displaying proper visual content with specific conditions. Bigsur seems to force the use of the Automatic Deferred Painting (ADP) mechanism, so the previous fix modified the code in update() to do nothing on BigSur. This behaviour is however not expected on apps linked with SDK < 10.14 and could be 'fixed' or changed. Adding an internal system property, just in case that happens. Change-Id: Iced9c2aca2e9fb7ca37a9e213cf8d8983d5bdf59
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
index 533cf1aa6c..e989813bbb 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
@@ -82,6 +82,8 @@ public abstract class Control extends Widget implements Drawable {
*/
static final int DEFAULT_DRAG_HYSTERESIS = 5;
+ static final boolean FORCE_RUN_UPDATE = Boolean.valueOf(System.getProperty("org.eclipse.swt.internal.control.forceRunUpdate"));
+
Control () {
/* Do nothing */
}
@@ -5142,7 +5144,7 @@ public void update () {
}
boolean update (boolean all) {
- if (OS.isBigSurOrLater()) {
+ if (!FORCE_RUN_UPDATE && OS.isBigSurOrLater()) {
/*
* Bigsur seems to force the use of the Automatic Deferred Painting mechanism.
* This behavior was applicable only for applications linked with 10.14, but with BigSur

Back to the top