Fix wrong editor clean up on object close

Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/635c8a77
Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/635c8a77
Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/635c8a77

Branch: refs/heads/swellrt
Commit: 635c8a772838ca36c33240ac38f4cea0602c0c10
Parents: a9dfc21
Author: Pablo Ojanguren <pablo...@gmail.com>
Authored: Fri Sep 9 13:02:38 2016 +0200
Committer: Pablo Ojanguren <pablo...@gmail.com>
Committed: Fri Sep 9 13:02:38 2016 +0200

----------------------------------------------------------------------
 wave/src/main/java/org/swellrt/api/SwellRT.java              | 8 +++++---
 wave/src/main/java/org/swellrt/client/editor/TextEditor.java | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/635c8a77/wave/src/main/java/org/swellrt/api/SwellRT.java
----------------------------------------------------------------------
diff --git a/wave/src/main/java/org/swellrt/api/SwellRT.java 
b/wave/src/main/java/org/swellrt/api/SwellRT.java
index abb7cec..798d42f 100644
--- a/wave/src/main/java/org/swellrt/api/SwellRT.java
+++ b/wave/src/main/java/org/swellrt/api/SwellRT.java
@@ -326,7 +326,8 @@ public class SwellRT implements EntryPoint, 
UnsavedDataListener {
     try {
 
       for (TextEditor editor : editorRegistry.values())
-        editor.cleanUp();
+        if (!editor.isClean())
+          editor.cleanUp();
       editorRegistry.clear();
       
       for (ModelJS co : objectRegistry.values())
@@ -563,8 +564,9 @@ public class SwellRT implements EntryPoint, 
UnsavedDataListener {
     }
     
     for (TextEditor e: editorRegistry.values())
-      if (e.getWaveId().equals(waveId))
-        e.cleanUp();
+      if (!e.isClean()) 
+        if (e.getWaveId().equals(waveId))
+          e.cleanUp();
 
     ModelJS co = objectRegistry.get(waveId);
     objectRegistry.remove(waveId);

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/635c8a77/wave/src/main/java/org/swellrt/client/editor/TextEditor.java
----------------------------------------------------------------------
diff --git a/wave/src/main/java/org/swellrt/client/editor/TextEditor.java 
b/wave/src/main/java/org/swellrt/client/editor/TextEditor.java
index a49f32c..73de2d0 100644
--- a/wave/src/main/java/org/swellrt/client/editor/TextEditor.java
+++ b/wave/src/main/java/org/swellrt/client/editor/TextEditor.java
@@ -509,7 +509,7 @@ public class TextEditor implements EditorUpdateListener {
     }
   }
 
-  protected boolean isClean() {
+  public boolean isClean() {
     return doc == null;
   }
 

Reply via email to