]> source.dussan.org Git - poi.git/commitdiff
Fix on head for custom palettes.
authorJason Height <jheight@apache.org>
Tue, 14 Oct 2003 22:50:48 +0000 (22:50 +0000)
committerJason Height <jheight@apache.org>
Tue, 14 Oct 2003 22:50:48 +0000 (22:50 +0000)
Resolves 16559

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353402 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/model/Workbook.java
src/java/org/apache/poi/hssf/model/WorkbookRecordList.java

index 9cc2389c78ecda8f7f35bf250043708c47193eab..e41867996b43765faaefd296e067fad777d295ba 100644 (file)
@@ -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;
     }
index 0f2fa325408f2a14743ecb112b569b0beb4dab10..90eefaefa0f0a42deaffe411309b8ca28de0e0c4 100644 (file)
@@ -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 )