From d72ee4c103fd6967eafe347ceb5711653dc1c936 Mon Sep 17 00:00:00 2001 From: Mickael ADAM Date: Fri, 6 Jan 2017 16:05:52 +0100 Subject: Bug 508278 - SWTException below CLabelObservableValue.doSetValue (thrown in Widget.checkWidget) https://bugs.eclipse.org/bugs/show_bug.cgi?id=508278 - Add if test on label before set. Change-Id: Ic8f7fe999d092edaebc9d35fcbaf29b235d7d5c7 Signed-off-by: Mickael ADAM --- .../widgets/databinding/CLabelObservableValue.java | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/databinding/CLabelObservableValue.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/databinding/CLabelObservableValue.java index c653eedd906..1a06bfbe460 100644 --- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/databinding/CLabelObservableValue.java +++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/databinding/CLabelObservableValue.java @@ -107,15 +107,17 @@ public class CLabelObservableValue extends AbstractObservableValue { @Override protected void doSetValue(Object value) { this.currentValue = value; - if (aggregated != null && aggregated.hasDifferentValues()) { - label.setText(Messages.ReferenceDialogObservable_Unchanged); - label.setImage(null); - } else if (currentValue == null) { - label.setText(Messages.ReferenceDialog_Unset); - label.setImage(null); - } else { - label.setText(labelProvider.getText(value)); - label.setImage(labelProvider.getImage(value)); + if (null != label && !label.isDisposed()) { + if (aggregated != null && aggregated.hasDifferentValues()) { + label.setText(Messages.ReferenceDialogObservable_Unchanged); + label.setImage(null); + } else if (currentValue == null) { + label.setText(Messages.ReferenceDialog_Unset); + label.setImage(null); + } else { + label.setText(labelProvider.getText(value)); + label.setImage(labelProvider.getImage(value)); + } } } } -- cgit v1.2.3