[gnumeric] colrow: don't create new columns/rows unless we have to.



commit 2716cdda7a7b7149e287fef9a680933846f90e5d
Author: Morten Welinder <terra gnome org>
Date:   Sat Dec 27 19:17:05 2014 -0500

    colrow: don't create new columns/rows unless we have to.
    
    This caused a failure in t6510 on re-applying auto filters.

 ChangeLog    |    5 +++++
 src/colrow.c |    7 +++++--
 2 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 9a8d6e0..356101f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-27  Morten Welinder  <terra gnome org>
+
+       * src/colrow.c (colrow_set_visibility): Don't create columns/rows
+       unless we really have to.
+
 2014-12-25  Morten Welinder  <terra gnome org>
 
        * src/sheet-object-graph.c (sog_cb_open_in_new_window): Fix
diff --git a/src/colrow.c b/src/colrow.c
index e83c2fc..50ab5ea 100644
--- a/src/colrow.c
+++ b/src/colrow.c
@@ -1216,8 +1216,11 @@ colrow_set_visibility (Sheet *sheet, gboolean is_cols,
        }
 
        if (changed && 0 <= i && i < colrow_max (is_cols, sheet)) {
-               ColRowInfo * const cri = sheet_colrow_fetch (sheet, i, is_cols);
-               if (prev_outline > cri->outline_level)
+               ColRowInfo *cri = sheet_colrow_get (sheet, i, is_cols);
+               if (!cri && !visible && prev_outline > 0)
+                       cri = sheet_colrow_fetch (sheet, i, is_cols);
+
+               if (cri && prev_outline > cri->outline_level)
                        cri->is_collapsed = !visible;
        }
 }


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