aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Height <jheight@apache.org>2003-10-14 22:50:48 +0000
committerJason Height <jheight@apache.org>2003-10-14 22:50:48 +0000
commitfdb59c28069384fa10108c463a8146d30de45e3d (patch)
treea412bb83935e101f49e1c8c77cbfe3f5d9b673b6 /src
parent43f2b5d592a83fdb34f3bd6de4d91a3c0301735f (diff)
downloadpoi-fdb59c28069384fa10108c463a8146d30de45e3d.tar.gz
poi-fdb59c28069384fa10108c463a8146d30de45e3d.zip
Fix on head for custom palettes.
Resolves 16559 git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353402 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/java/org/apache/poi/hssf/model/Workbook.java11
-rw-r--r--src/java/org/apache/poi/hssf/model/WorkbookRecordList.java2
2 files changed, 8 insertions, 5 deletions
diff --git a/src/java/org/apache/poi/hssf/model/Workbook.java b/src/java/org/apache/poi/hssf/model/Workbook.java
index 9cc2389c78..e41867996b 100644
--- a/src/java/org/apache/poi/hssf/model/Workbook.java
+++ b/src/java/org/apache/poi/hssf/model/Workbook.java
@@ -2074,15 +2074,18 @@ public class Workbook implements Model {
public PaletteRecord getCustomPalette()
{
PaletteRecord palette;
- Record rec = records.get(records.getPalettepos());
- if (rec instanceof PaletteRecord)
- {
+ int palettePos = records.getPalettepos();
+ if (palettePos != -1) {
+ Record rec = records.get(palettePos);
+ if (rec instanceof PaletteRecord) {
palette = (PaletteRecord) rec;
+ } else throw new RuntimeException("InternalError: Expected PaletteRecord but got a '"+rec+"'");
}
else
{
palette = createPalette();
- records.add(records.getPalettepos(), palette);
+ //Add the palette record after the bof which is always the first record
+ records.add(1, palette);
}
return palette;
}
diff --git a/src/java/org/apache/poi/hssf/model/WorkbookRecordList.java b/src/java/org/apache/poi/hssf/model/WorkbookRecordList.java
index 0f2fa32540..90eefaefa0 100644
--- a/src/java/org/apache/poi/hssf/model/WorkbookRecordList.java
+++ b/src/java/org/apache/poi/hssf/model/WorkbookRecordList.java
@@ -74,7 +74,7 @@ public class WorkbookRecordList
private int namepos = 0; // holds the position of last name record
private int supbookpos = 0; // holds the position of sup book
private int externsheetPos = 0;// holds the position of the extern sheet
- private int palettepos = 0; // hold the position of the palette, if applicable
+ private int palettepos = -1; // hold the position of the palette, if applicable
public void setRecords( List records )