preparing new release
[phpeclipse.git] / net.sourceforge.phpeclipse.ui / src / net / sourceforge / phpeclipse / ui / text / rules / MultiViewPartitioner.java
index c5aa8ec..204c16c 100644 (file)
@@ -8,7 +8,7 @@
  * Contributors:
  *     Igor Malinin - initial contribution
  * 
- * $Id: MultiViewPartitioner.java,v 1.1 2004-09-02 18:26:29 jsurfer Exp $
+ * $Id: MultiViewPartitioner.java,v 1.4 2004-10-25 17:03:28 axelcl Exp $
  */
 
 package net.sourceforge.phpeclipse.ui.text.rules;
@@ -144,15 +144,20 @@ public abstract class MultiViewPartitioner extends AbstractPartitioner {
     try {
       if (outerDocument != null) {
         DocumentEvent event = null;
-        if (position.offset >= 0) {
-          event = new DocumentEvent(outerDocument, outerDocument.getLocalOffset(position.offset), 0, document.get(position.offset,
-              position.length));
+        if (position.offset >= 0 && position.length >= 0) {
+          int outerOffset = outerDocument.getLocalOffset(position.offset);
+          if (outerOffset > 0) {
+            event = new DocumentEvent(outerDocument, outerOffset, 0, document.get(
+                position.offset, position.length));
 
-          outerDocument.fireDocumentAboutToBeChanged(event);
+            outerDocument.fireDocumentAboutToBeChanged(event);
+          }
         }
         super.removeInnerRegion(position);
         if (position.offset >= 0) {
-          outerDocument.fireDocumentChanged(event);
+          if (event!=null) {
+            outerDocument.fireDocumentChanged(event);
+          }
         }
       } else {
         super.removeInnerRegion(position);