diff options
| author | Lakshmi Shanmugam | 2020-12-01 08:40:32 +0000 |
|---|---|---|
| committer | Lakshmi Shanmugam | 2020-12-01 10:16:34 +0000 |
| commit | b1a96f8b7ddee3511eabccef091799dbc9900595 (patch) | |
| tree | 01de1abe43279ccc71631efd5d03ac3fec1ca8b5 | |
| parent | 70ae20c7491327e848a80d35b97029c8c98a4961 (diff) | |
| download | eclipse.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.java | 4 |
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 |
