diff options
| author | Mélanie Bats | 2016-11-23 14:41:42 +0000 |
|---|---|---|
| committer | Melanie Bats | 2016-11-24 13:51:00 +0000 |
| commit | d617ef1dd356d2548bd9a44b1b91caeb6b8dd433 (patch) | |
| tree | 02a5228673d2acfe255550ddf76002a6535daae8 | |
| parent | 7e0a1e0fa3d33672dd50a596a988f194df80b00b (diff) | |
| download | org.eclipse.eef-d617ef1dd356d2548bd9a44b1b91caeb6b8dd433.tar.gz org.eclipse.eef-d617ef1dd356d2548bd9a44b1b91caeb6b8dd433.tar.xz org.eclipse.eef-d617ef1dd356d2548bd9a44b1b91caeb6b8dd433.zip | |
[498259] Action buttons broken after switching tab
The action buttons list was cleared when the aboutToBeHidden method was
called which means that when we switched to another tab the action
buttons references where cleared. To fix the issue, the clear action is
just moved to the dispose method.
The issue is fixed for all the widgets able to define action buttons :
list, hyperlink and label.
Bug: 498259
Change-Id: Id6ffc47e392a969747d2561d849bebc10a00333d
Signed-off-by: Mélanie Bats <melanie.bats@obeo.fr>
3 files changed, 33 insertions, 3 deletions
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java index f4f682701..5a67f8c06 100644 --- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFHyperlinkLifecycleManager.java @@ -300,7 +300,6 @@ public class EEFHyperlinkLifecycleManager extends AbstractEEFWidgetLifecycleMana } this.controller.removeNewValueConsumer(); - this.actionButtons.clear(); } /** @@ -317,4 +316,15 @@ public class EEFHyperlinkLifecycleManager extends AbstractEEFWidgetLifecycleMana actionButton.setEnabled(this.isEnabled()); } } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#dispose() + */ + @Override + public void dispose() { + super.dispose(); + this.actionButtons.clear(); + } } diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java index 8ff889f2b..b6052b848 100644 --- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java @@ -261,7 +261,6 @@ public class EEFLabelLifecycleManager extends AbstractEEFWidgetLifecycleManager } this.controller.removeNewValueConsumer(); - this.actionButtons.clear(); } /** @@ -293,4 +292,15 @@ public class EEFLabelLifecycleManager extends AbstractEEFWidgetLifecycleManager protected Control getValidationControl() { return this.body; } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#dispose() + */ + @Override + public void dispose() { + super.dispose(); + this.actionButtons.clear(); + } } diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java index 99b16f94c..d075adb97 100644 --- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFListLifecycleManager.java @@ -323,7 +323,6 @@ public class EEFListLifecycleManager extends AbstractEEFWidgetLifecycleManager { this.tableViewer.getTable().removeSelectionListener(this.tableSelectionListener); } this.controller.removeNewValueConsumer(); - this.actionButtons.clear(); } /** @@ -355,4 +354,15 @@ public class EEFListLifecycleManager extends AbstractEEFWidgetLifecycleManager { protected Control getValidationControl() { return this.tableViewer.getTable().getParent(); } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager#dispose() + */ + @Override + public void dispose() { + super.dispose(); + this.actionButtons.clear(); + } } |
