You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2015/10/05 02:26:19 UTC

svn commit: r1706739 - in /poi/trunk/src/java/org/apache/poi/hssf: model/InternalSheet.java record/CFHeaderBase.java usermodel/HSSFExtendedColor.java

Author: kiwiwings
Date: Mon Oct  5 00:26:19 2015
New Revision: 1706739

URL: http://svn.apache.org/viewvc?rev=1706739&view=rev
Log:
Fixed a problem with save-and-load of conditional formattings (CFHeader12 wasn't added to conditional formattings, rgb value wasn't saved in extended color)

Modified:
    poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java
    poi/trunk/src/java/org/apache/poi/hssf/record/CFHeaderBase.java
    poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFExtendedColor.java

Modified: poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java?rev=1706739&r1=1706738&r2=1706739&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/model/InternalSheet.java Mon Oct  5 00:26:19 2015
@@ -22,6 +22,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.poi.hssf.record.BOFRecord;
+import org.apache.poi.hssf.record.CFHeader12Record;
 import org.apache.poi.hssf.record.CFHeaderRecord;
 import org.apache.poi.hssf.record.CalcCountRecord;
 import org.apache.poi.hssf.record.CalcModeRecord;
@@ -190,7 +191,7 @@ public final class InternalSheet {
         while (rs.hasNext()) {
             int recSid = rs.peekNextSid();
 
-            if ( recSid == CFHeaderRecord.sid ) {
+            if ( recSid == CFHeaderRecord.sid || recSid == CFHeader12Record.sid ) {
                 condFormatting = new ConditionalFormattingTable(rs);
                 records.add(condFormatting);
                 continue;

Modified: poi/trunk/src/java/org/apache/poi/hssf/record/CFHeaderBase.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/CFHeaderBase.java?rev=1706739&r1=1706738&r2=1706739&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/record/CFHeaderBase.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/record/CFHeaderBase.java Mon Oct  5 00:26:19 2015
@@ -62,13 +62,17 @@ public abstract class CFHeaderBase exten
 
     public boolean getNeedRecalculation() {
         // Held on the 1st bit
-        return field_2_need_recalculation_and_id % 2 == 1;
+        return (field_2_need_recalculation_and_id & 1) == 1;
     }
     public void setNeedRecalculation(boolean b) {
         // held on the first bit
-        if (b == getNeedRecalculation()) return;
-        if (b) field_2_need_recalculation_and_id++;
-        else   field_2_need_recalculation_and_id--;
+        if (b == getNeedRecalculation()) {
+            return;
+        } else if (b) {
+            field_2_need_recalculation_and_id++;
+        } else {
+            field_2_need_recalculation_and_id--;
+        }
     }
 
     public int getID() {
@@ -79,7 +83,9 @@ public abstract class CFHeaderBase exten
         // Remaining 15 bits of field 2
         boolean needsRecalc = getNeedRecalculation();
         field_2_need_recalculation_and_id = (id<<1);
-        if (needsRecalc) field_2_need_recalculation_and_id++;
+        if (needsRecalc) {
+            field_2_need_recalculation_and_id++;
+        }
     }
 
     public CellRangeAddress getEnclosingCellRange() {

Modified: poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFExtendedColor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFExtendedColor.java?rev=1706739&r1=1706738&r2=1706739&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFExtendedColor.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/usermodel/HSSFExtendedColor.java Mon Oct  5 00:26:19 2015
@@ -97,6 +97,7 @@ public class HSSFExtendedColor extends E
             rgb[3] = a;
             color.setRGBA(rgb);
         }
+        color.setType(TYPE_RGB);
     }
 
     public double getTint() {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org