1.1 --- a/php.smarty/src/org/netbeans/modules/php/smarty/editor/TplKit.java Fri Apr 09 19:09:01 2010 +0200
1.2 +++ b/php.smarty/src/org/netbeans/modules/php/smarty/editor/TplKit.java Thu Mar 03 00:03:37 2011 +0100
1.3 @@ -45,6 +45,7 @@
1.4 import org.netbeans.editor.ext.ExtKit;
1.5 import org.netbeans.modules.editor.NbEditorKit;
1.6 import javax.swing.Action;
1.7 +import javax.swing.SwingUtilities;
1.8 import javax.swing.text.*;
1.9 import org.netbeans.modules.editor.NbEditorUtilities;
1.10 import org.openide.filesystems.FileObject;
1.11 @@ -53,10 +54,10 @@
1.12 import org.netbeans.modules.csl.api.InstantRenameAction;
1.13 import org.netbeans.modules.csl.api.SelectCodeElementAction;
1.14 import org.netbeans.modules.csl.api.ToggleBlockCommentAction;
1.15 +import org.netbeans.modules.editor.NbEditorDocument;
1.16 import org.netbeans.modules.php.smarty.editor.lexer.TplTopTokenId;
1.17 import org.netbeans.modules.php.smarty.editor.utlis.TplUtils;
1.18 import org.netbeans.spi.lexer.MutableTextInput;
1.19 -import sun.rmi.runtime.Log;
1.20
1.21 /**
1.22 * Editor kit implementation for TPL content type
1.23 @@ -115,7 +116,7 @@
1.24 return TextAction.augmentList(super.createActions(), javaActions);
1.25 }
1.26
1.27 - public void initLexerColoringListener(Document doc) {
1.28 + public void initLexerColoringListener(final Document doc) {
1.29 DataObject dobj = NbEditorUtilities.getDataObject(doc);
1.30 FileObject fobj = (dobj != null) ? dobj.getPrimaryFile() : null;
1.31
1.32 @@ -127,10 +128,23 @@
1.33 inputAttributes.setValue(TplTopTokenId.language(), TplMetaData.class, tplMetaData, false);
1.34 doc.putProperty(InputAttributes.class, inputAttributes);
1.35
1.36 - MutableTextInput mti = (MutableTextInput) doc.getProperty(MutableTextInput.class);
1.37 - if (mti != null) {
1.38 - mti.tokenHierarchyControl().rebuild();
1.39 - }
1.40 + SwingUtilities.invokeLater(new Runnable() {
1.41 +
1.42 + @Override
1.43 + public void run() {
1.44 + NbEditorDocument nbdoc = (NbEditorDocument) doc;
1.45 + nbdoc.runAtomic(new Runnable() {
1.46 +
1.47 + @Override
1.48 + public void run() {
1.49 + MutableTextInput mti = (MutableTextInput) doc.getProperty(MutableTextInput.class);
1.50 + if (mti != null) {
1.51 + mti.tokenHierarchyControl().rebuild();
1.52 + }
1.53 + }
1.54 + });
1.55 + }
1.56 + });
1.57 }
1.58
1.59 @Override