Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLakshmi Shanmugam2020-10-26 21:53:28 +0000
committerLakshmi P Shanmugam2020-10-28 17:04:24 +0000
commit60de295b8a2bce720db7f6d73e2ba1ed937039c5 (patch)
tree99238c10829cb6f13d9cb5fc89e6fd007e7c6f4f
parent70895e024191ed25ab786c8d3b70774f007201c4 (diff)
downloadeclipse.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.java13
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java4
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) {

Back to the top