Author: penyaskito Date: 2008-04-11 08:53:08-0700 New Revision: 14323 Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java
Log: Added runnable to the modelChanged method, because GEF is not thread-safe. Refers to issue #5007 Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java?view=diff&rev=14323&p1=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java&p2=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java&r1=14322&r2=14323 ============================================================================== --- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java (original) +++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java 2008-04-11 08:53:08-0700 @@ -32,6 +32,8 @@ import java.util.ArrayList; import java.util.List; +import javax.swing.SwingUtilities; + import org.apache.log4j.Logger; import org.argouml.model.AddAssociationEvent; import org.argouml.model.AttributeChangeEvent; @@ -135,15 +137,22 @@ /* * @see org.argouml.uml.diagram.ui.FigNodeModelElement#modelChanged(java.beans.PropertyChangeEvent) */ - protected synchronized void modelChanged(PropertyChangeEvent mee) { + protected void modelChanged(PropertyChangeEvent mee) { super.modelChanged(mee); if (mee instanceof AddAssociationEvent - || mee instanceof RemoveAssociationEvent + || mee instanceof RemoveAssociationEvent || mee instanceof AttributeChangeEvent) { - renderingChanged(); - updateListeners(getOwner(), getOwner()); - notationProvider.updateListener(this, getOwner(), mee); - damage(); + Runnable doWorkRunnable= new Runnable(){ + public void run(){ + + renderingChanged(); + updateListeners(getOwner(), getOwner()); + + damage(); + }}; + + SwingUtilities.invokeLater(doWorkRunnable); + notationProvider.updateListener(this, getOwner(), mee); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
