php.smarty/src/org/netbeans/modules/php/smarty/editor/TplKit.java
changeset 17309 60f4cc6038b3
parent 16264 0bcd1b2b366f
child 17565 d9cb4ed472d7
     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