gnumeric r17080 - in trunk: . src



Author: mortenw
Date: Tue Jan 20 19:11:31 2009
New Revision: 17080
URL: http://svn.gnome.org/viewvc/gnumeric?rev=17080&view=rev

Log:
2009-01-20  Morten Welinder  <terra gnome org>

	* src/dependent.c (dependent_eval): Clear GNM_CELL_HAS_NEW_EXPR
	here.  Otherwise expressions loaded from files will appear to have
	new expressions even after they were recalculated.



Modified:
   trunk/ChangeLog
   trunk/src/dependent.c

Modified: trunk/src/dependent.c
==============================================================================
--- trunk/src/dependent.c	(original)
+++ trunk/src/dependent.c	Tue Jan 20 19:11:31 2009
@@ -446,6 +446,8 @@
 	 * We treat work as a stack.
 	 */
 
+	g_printerr ("work has %d elements\n", g_slist_length (work));
+
 	while (work) {
 		GnmDependent *dep = work->data;
 		int const t = dependent_type (dep);
@@ -456,6 +458,10 @@
 		g_slist_free_1 (list);
 
 		if (t == DEPENDENT_CELL) {
+			int dummy = 0 && (g_printerr ("cell %s flags %x\n",
+						 cell_name (GNM_DEP_TO_CELL (dep)),
+						 dep->flags),
+				     0);
 			GSList *deps = cell_list_deps (GNM_DEP_TO_CELL (dep));
 			GSList *waste = NULL;
 			GSList *next;
@@ -1550,6 +1556,8 @@
 
 		/* This should always be the top of the stack */
 		g_return_if_fail (finished);
+
+		dep->flags &= ~GNM_CELL_HAS_NEW_EXPR;
 	}
 
 	/* Don't clear flag until after in case we iterate */
@@ -1650,9 +1658,12 @@
 	if (!cell->base.sheet->deps)
 		return;
 
+	g_printerr ("A\n");
 	cell_foreach_range_dep (cell, func, user);
+	g_printerr ("B\n");
 	cell_foreach_single_dep (cell->base.sheet, cell->pos.col, cell->pos.row,
 				 func, user);
+	g_printerr ("C\n");
 }
 
 static void



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