[gnumeric] Fix reading of conditional formats from xls files. [#702612]



commit 8f4a6dce417e6009a63c6d42732bb59ad344db72
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date:   Wed Jun 19 00:31:28 2013 -0600

    Fix reading of conditional formats from xls files. [#702612]
    
    2013-06-19  Andreas J. Guelzow <aguelzow pyrshep ca>
    
        * ms-excel-read.c (excel_read_CF_border): change GnmStyleCond
        argument to GnmStyle
        (excel_read_CF): pass the overlay not the empty condition to
        excel_read_CF_border

 NEWS                          |    3 ++-
 plugins/excel/ChangeLog       |    7 +++++++
 plugins/excel/ms-excel-read.c |   12 ++++++------
 3 files changed, 15 insertions(+), 7 deletions(-)
---
diff --git a/NEWS b/NEWS
index 3593984..351843c 100644
--- a/NEWS
+++ b/NEWS
@@ -26,7 +26,8 @@ Andreas:
        * Fix crash on corrupted files.  [#702205] [#702219] [#702285]
          [#702288] [#702364] [#702409] [#702486] [#702485] [#702498] [#702322]
        * Some documentation improvements. [Debian #621735] [Debian #530462]
-       * Fix crash on xlsx import due to external references. [#702407] 
+       * Fix crash on xlsx import due to external references. [#702407]
+       * Fix reading of conditional formats from xls files. [#702612]
 
 Darrell Tangman:
        * Update documentation for Edit and Insert menus. [#700596]
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index 492d2e3..736e952 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,3 +1,10 @@
+2013-06-19  Andreas J. Guelzow <aguelzow pyrshep ca>
+
+       * ms-excel-read.c (excel_read_CF_border): change GnmStyleCond
+       argument to GnmStyle
+       (excel_read_CF): pass the overlay not the empty condition to
+       excel_read_CF_border
+
 2013-06-18  Andreas J. Guelzow <aguelzow pyrshep ca>
 
        * xlsx-read.c (xlsx_workbook_dtd): avoid duplication
diff --git a/plugins/excel/ms-excel-read.c b/plugins/excel/ms-excel-read.c
index d56b6bc..5f1d8d0 100644
--- a/plugins/excel/ms-excel-read.c
+++ b/plugins/excel/ms-excel-read.c
@@ -5142,11 +5142,11 @@ excel_read_WINDOW2 (BiffQuery *q, ExcelReadSheet *esheet, WorkbookView *wb_view)
 }
 
 static void
-excel_read_CF_border (GnmStyleCond *cond, ExcelReadSheet *esheet,
+excel_read_CF_border (GnmStyle *style, ExcelReadSheet *esheet,
                      GnmStyleBorderLocation type,
                      unsigned xl_pat_index, unsigned xl_color_index)
 {
-       gnm_style_set_border (cond->overlay, GNM_STYLE_BORDER_LOCATION_TO_STYLE_ELEMENT (type),
+       gnm_style_set_border (style, GNM_STYLE_BORDER_LOCATION_TO_STYLE_ELEMENT (type),
                              gnm_style_border_fetch (biff_xf_map_border (xl_pat_index),
                                                      excel_palette_get (esheet->container.importer,
                                                                         xl_color_index),
@@ -5322,19 +5322,19 @@ excel_read_CF (BiffQuery *q, ExcelReadSheet *esheet, GnmStyleConditions *sc)
                guint16 patterns = GSF_LE_GET_GUINT16 (q->data + offset);
                guint32 colours  = GSF_LE_GET_GUINT32 (q->data + offset + 2);
                if (0 == (flags & 0x0400))
-                       excel_read_CF_border (cond, esheet, GNM_STYLE_BORDER_LEFT,
+                       excel_read_CF_border (overlay, esheet, GNM_STYLE_BORDER_LEFT,
                                              (patterns >>  0) & 0xf,
                                              (colours  >>  0) & 0x7f);
                if (0 == (flags & 0x0800))
-                       excel_read_CF_border (cond, esheet, GNM_STYLE_BORDER_RIGHT,
+                       excel_read_CF_border (overlay, esheet, GNM_STYLE_BORDER_RIGHT,
                                              (patterns >>  4) & 0xf,
                                              (colours  >>  7) & 0x7f);
                if (0 == (flags & 0x1000))
-                       excel_read_CF_border (cond, esheet, GNM_STYLE_BORDER_TOP,
+                       excel_read_CF_border (overlay, esheet, GNM_STYLE_BORDER_TOP,
                                              (patterns >>  8) & 0xf,
                                              (colours  >> 16) & 0x7f);
                if (0 == (flags & 0x2000))
-                       excel_read_CF_border (cond, esheet, GNM_STYLE_BORDER_BOTTOM,
+                       excel_read_CF_border (overlay, esheet, GNM_STYLE_BORDER_BOTTOM,
                                              (patterns >> 12) & 0xf,
                                              (colours  >> 23) & 0x7f);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]