Author: vrubezhny
Date: 2011-09-14 07:41:50 -0400 (Wed, 14 Sep 2011)
New Revision: 34722
Modified:
branches/jbosstools-3.3.0.M3/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java
Log:
JBIDE-9704
JBDS UI freezes for several minutes if a tag in JBoss Ajax4Jsf palette is selected for an
xhtml file that does not have a DOCTYPE defined and the root node is selected
Committing the patch to 3.3.0.M3 branch
Modified:
branches/jbosstools-3.3.0.M3/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java
===================================================================
---
branches/jbosstools-3.3.0.M3/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java 2011-09-14
10:14:52 UTC (rev 34721)
+++
branches/jbosstools-3.3.0.M3/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java 2011-09-14
11:41:50 UTC (rev 34722)
@@ -873,6 +873,9 @@
documentRegion = documentRegion.getPrevious();
completionRegion = getCompletionRegion(request.getDocumentRegion().getStartOffset() +
request.getRegion().getStart() - 1, request.getParent());
}
+ if(documentRegion==null || completionRegion == null) {
+ return null;
+ }
if (!DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE.equals(completionRegion.getType())
&&
!DOMRegionContext.XML_CONTENT.equals(completionRegion.getType()) &&
!DOMRegionContext.BLOCK_TEXT.equals(completionRegion.getType())) {
@@ -942,6 +945,9 @@
documentRegion = documentRegion.getPrevious();
completionRegion = getCompletionRegion(request.getDocumentRegion().getStartOffset() +
request.getRegion().getStart() - 1, request.getParent());
}
+ if(documentRegion==null || completionRegion == null) {
+ return null;
+ }
if (!DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE.equals(completionRegion.getType())
&&
!DOMRegionContext.XML_CONTENT.equals(completionRegion.getType()) &&
!DOMRegionContext.BLOCK_TEXT.equals(completionRegion.getType())) {
@@ -1100,7 +1106,7 @@
return null;
}
ITextRegion result =
node.getStructuredDocument().getRegionAtCharacterOffset(offset).getRegionAtCharacterOffset(offset);
- while (result == null) {
+ while (result == null && offset>0) {
offset--;
result =
node.getStructuredDocument().getRegionAtCharacterOffset(offset).getRegionAtCharacterOffset(offset);
}
Show replies by date