diff options
author | Andre Weinand | 2002-11-04 21:33:35 +0000 |
---|---|---|
committer | Andre Weinand | 2002-11-04 21:33:35 +0000 |
commit | e856da959ae31eccc1917be06749e05887f5fb55 (patch) | |
tree | 0f68aa879d766692304f2371702d021404216733 | |
parent | 05ca412e1db78c74900782bcae5d35fb261d90e1 (diff) | |
download | eclipse.platform.swt-e856da959ae31eccc1917be06749e05887f5fb55.tar.gz eclipse.platform.swt-e856da959ae31eccc1917be06749e05887f5fb55.tar.xz eclipse.platform.swt-e856da959ae31eccc1917be06749e05887f5fb55.zip |
Workaround for repaint problem in compositting mode
(checked in from Naples, Italy :-)
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Composite.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Composite.java index 48a931bdfa..a6f8afd503 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Composite.java @@ -358,6 +358,20 @@ public Control [] getTabList () { return tabList; } +void handleResize(int handle, Rect bounds) { + super.handleResize(handle, bounds); + + /* + * Bug in compositing mode: after a resize some children of a Composite + * are not redrawn properly. The fix is to make the composite temporarily + * one pixel larger and thereby forcing a relayout. + */ + bounds.right--; + OS.SetControlBounds(handle, bounds); + bounds.right++; + OS.SetControlBounds(handle, bounds); +} + void hookEvents () { super.hookEvents (); if ((state & CANVAS) != 0) { |