-
Bug
-
Resolution: Fixed
-
Normal
-
3.8.3.FL
-
None
-
Security Level: Jimmy
-
None
-
Sprint 4
steps to reproduce
- run the attached zul with a blank file under 3.8.3.RC
- click "create" button to create a sheet
- click "delete" to delete the newly created sheet
result
SEVERE:
java.lang.IllegalStateException: doesn't connect to parent
at org.zkoss.zss.model.impl.SheetImpl.checkOrphan(SheetImpl.java:1446)
at org.zkoss.zss.model.impl.SheetImpl.getBook(SheetImpl.java:150)
at org.zkoss.zss.range.impl.NotifyChangeHelper.notifyMergeSync(NotifyChangeHelper.java:127)
at org.zkoss.zss.model.impl.BookImpl.sendModelEvent(BookImpl.java:232)
at org.zkoss.zss.range.impl.NotifyChangeHelper.notifySheetDelete(NotifyChangeHelper.java:182)
at org.zkoss.zss.range.impl.RangeImpl$33.doBeforeNotify(RangeImpl.java:1314)
at org.zkoss.zss.range.impl.RangeImpl$ModelManipulationTask.invoke(RangeImpl.java:1743)
at org.zkoss.zss.model.util.ReadWriteTask.doInWriteLock(ReadWriteTask.java:43)
at org.zkoss.zss.range.impl.RangeImpl.deleteSheet(RangeImpl.java:1317)
at org.zkoss.zss.api.impl.RangeImpl.deleteSheet(RangeImpl.java:691)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
debug info
- it doesn't happen in 3.8.2
- the newly created sheet contains an unsynchronized merged cell which is created by setAutoRefresh(false).
workaround
- Notify the change for the sheet before deleting.