Fix for adding slides to sheets which already have some - get the SlidePersistAtom correctly

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@387010 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2006-03-19 18:09:20 +00:00
parent 71eda449e6
commit 624aaabf09

View File

@ -399,10 +399,14 @@ public class SlideShow
_documentRecord.addChildBefore(slist, endDoc); _documentRecord.addChildBefore(slist, endDoc);
} }
Record[] rec = slist.getChildRecords(); // Grab the last SlidePersistAtom, if there was one
SlidePersistAtom prev = null;
// Add SlidePersistAtom SlideAtomsSet[] sas = slist.getSlideAtomsSets();
SlidePersistAtom prev = rec.length == 0 ? null : (SlidePersistAtom)rec[rec.length - 1]; if(sas != null && sas.length > 0) {
prev = sas[sas.length - 1].getSlidePersistAtom();
}
// Add a new SlidePersistAtom
SlidePersistAtom sp = new SlidePersistAtom(); SlidePersistAtom sp = new SlidePersistAtom();
// Refernce is the 1-based index of the slide container in // Refernce is the 1-based index of the slide container in
@ -413,6 +417,7 @@ public class SlideShow
// First slideId is always 256 // First slideId is always 256
sp.setSlideIdentifier(prev == null ? 256 : (prev.getSlideIdentifier() + 1)); sp.setSlideIdentifier(prev == null ? 256 : (prev.getSlideIdentifier() + 1));
// Add this new SlidePersistAtom to the SlideListWithText
slist.appendChildRecord(sp); slist.appendChildRecord(sp);
// Create a new Slide // Create a new Slide