diff options
| author | Lakshmi Shanmugam | 2020-10-26 21:53:28 +0000 |
|---|---|---|
| committer | Lakshmi P Shanmugam | 2020-10-28 17:04:24 +0000 |
| commit | 60de295b8a2bce720db7f6d73e2ba1ed937039c5 (patch) | |
| tree | 99238c10829cb6f13d9cb5fc89e6fd007e7c6f4f | |
| parent | 70895e024191ed25ab786c8d3b70774f007201c4 (diff) | |
| download | eclipse.platform.swt-60de295b8a2bce720db7f6d73e2ba1ed937039c5.tar.gz eclipse.platform.swt-60de295b8a2bce720db7f6d73e2ba1ed937039c5.tar.xz eclipse.platform.swt-60de295b8a2bce720db7f6d73e2ba1ed937039c5.zip | |
Bug 567132 - Big Sur rendering: text shrinks in Preferences tree when
filter string entered
NSView.setNeedsDisplay() applies only to the view to which it is sent.
When Control.setRedraw(true) is called on a Composite, call
setNeedsDisplay() on the
views of the children too.
Change-Id: Ia93bc8d043e752820c22b64bc9faf5b0b1404cfd
Signed-off-by: Lakshmi Shanmugam <lshanmug@in.ibm.com>
| -rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java | 13 | ||||
| -rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java | 4 |
2 files changed, 16 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java index 24ece32456..556eb74a72 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java @@ -945,6 +945,19 @@ void pageUp(long id, long sel, long sender) { } @Override +void redrawWidget(NSView view, boolean redrawChildren) { + super.redrawWidget(view, redrawChildren); + if (redrawChildren) { + Control[] _getChildren = _getChildren(); + for (Control child : _getChildren) { + if (child != null && !child.isDisposed () && child.isVisible()) { + child.redrawWidget(child.view, redrawChildren); + } + } + } +} + +@Override void reflectScrolledClipView (long id, long sel, long aClipView) { if ((state & CANVAS) != 0) return; super.reflectScrolledClipView (id, sel, aClipView); 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 cbe0ad8d07..12c6633de6 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 @@ -4166,7 +4166,9 @@ public void setRedraw (boolean redraw) { if (redraw) { if (--drawCount == 0) { invalidateVisibleRegion (); - redrawWidget(topView (), true); + NSView topView = topView (); + redrawWidget(topView, true); + if (view.id != topView.id) redrawWidget(view, true); } } else { if (drawCount == 0) { |
