diff options
| author | Lakshmi Shanmugam | 2021-02-15 17:53:21 +0000 |
|---|---|---|
| committer | Sravan Kumar Lakkimsetti | 2021-08-26 12:54:01 +0000 |
| commit | bf78d422b2f2ecdc002f36af00fb3f0a41a92e96 (patch) | |
| tree | 1cea2b4d8697fb2c1b5b8737815b0241cde407cb | |
| parent | 466ea05266b8141cd1d79569883ad34204237ef2 (diff) | |
| download | eclipse.platform.swt-bf78d422b2f2ecdc002f36af00fb3f0a41a92e96.tar.gz eclipse.platform.swt-bf78d422b2f2ecdc002f36af00fb3f0a41a92e96.tar.xz eclipse.platform.swt-bf78d422b2f2ecdc002f36af00fb3f0a41a92e96.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: Ia460a71a84c7b76204690eb9b4bec26b10e1ee77
(cherry picked from commit f739d6defa67a01edd5217b536951276e10f6c4d)
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/178525
Tested-by: Lakshmi P Shanmugam <lshanmug@in.ibm.com>
Reviewed-by: Lakshmi P Shanmugam <lshanmug@in.ibm.com>
(cherry picked from commit 30413b8028c38e4a25d3a56636b21514fd39ed5f)
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/183781
Tested-by: Sravan Kumar Lakkimsetti <sravankumarl@in.ibm.com>
Reviewed-by: Sravan Kumar Lakkimsetti <sravankumarl@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 2d0b168cda..ead53832ab 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 @@ -941,6 +941,19 @@ void pageUp(long /*int*/ id, long /*int*/ sel, long /*int*/ 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 /*int*/ id, long /*int*/ sel, long /*int*/ 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 9af7e842ae..6bf20f0bca 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 @@ -4154,7 +4154,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) { |
