<!-- Don't forget to update status.xml too! -->
<release version="3.0.3-beta1" date="2008-04-??">
- <action dev="POI-DEVELOPERS" type="add">Implement Sheet.removeShape(Shape shape) in HSLF</action>
+ <action dev="RK" type="add">44694 - HPSF: Support for property sets without sections</action>
<action dev="POI-DEVELOPERS" type="add">Various fixes: Recognising var-arg built-in functions #44675, ExternalNameRecord serialisation bug #44695, PMT() bug #44691</action>
<action dev="POI-DEVELOPERS" type="add">30311 - More work on Conditional Formatting</action>
<action dev="POI-DEVELOPERS" type="add">Move the Formula Evaluator code out of scratchpad</action>
<!-- Don't forget to update changes.xml too! -->
<changes>
<release version="3.0.3-beta1" date="2008-04-??">
+ <action dev="RK" type="add">44694 - HPSF: Support for property sets without sections</action>
<action dev="POI-DEVELOPERS" type="add">Implement Sheet.removeShape(Shape shape) in HSLF</action>
<action dev="POI-DEVELOPERS" type="add">Various fixes: Recognising var-arg built-in functions #44675, ExternalNameRecord serialisation bug #44695, PMT() bug #44691</action>
<action dev="POI-DEVELOPERS" type="add">30311 - More work on Conditional Formatting</action>
osVersion = ps.getOSVersion();
setClassID(ps.getClassID());
clearSections();
+ if (sections == null)
+ sections = new LinkedList();
for (final Iterator i = ps.getSections().iterator(); i.hasNext();)
{
final MutableSection s = new MutableSection((Section) (i.next()));
o += ClassID.LENGTH;
final long sectionCount = LittleEndian.getUInt(src, o);
o += LittleEndian.INT_SIZE;
- if (sectionCount < 1)
+ if (sectionCount < 0)
return false;
return true;
}
o += ClassID.LENGTH;
final int sectionCount = LittleEndian.getInt(src, o);
o += LittleEndian.INT_SIZE;
- if (sectionCount <= 0)
+ if (sectionCount < 0)
throw new HPSFRuntimeException("Section count " + sectionCount +
- " must be greater than 0.");
+ " is negative.");
/*
* Read the sections, which are following the header. They
*/
public boolean isSummaryInformation()
{
+ if (sections.size() <= 0)
+ return false;
return Util.equal(((Section) sections.get(0)).getFormatID().getBytes(),
SectionIDMap.SUMMARY_INFORMATION_ID);
}
*/
public boolean isDocumentSummaryInformation()
{
+ if (sections.size() <= 0)
+ return false;
return Util.equal(((Section) sections.get(0)).getFormatID().getBytes(),
SectionIDMap.DOCUMENT_SUMMARY_INFORMATION_ID[0]);
}