[Gnucash-changes] r13287 - gnucash/trunk - Prepare for gtk change that will issue warnings if the return value of

David Hampton hampton at cvs.gnucash.org
Fri Feb 17 22:02:33 EST 2006


Author: hampton
Date: 2006-02-17 22:02:32 -0500 (Fri, 17 Feb 2006)
New Revision: 13287
Trac: http://svn.gnucash.org/trac/changeset/13287

Modified:
   gnucash/trunk/ChangeLog
   gnucash/trunk/lib/goffice-0.0.4/goffice/graph/gog-guru.c
   gnucash/trunk/lib/goffice-0.0.4/goffice/gtk/go-format-sel.c
   gnucash/trunk/src/gnome-utils/dialog-options.c
   gnucash/trunk/src/gnome-utils/gnc-tree-model-account.c
   gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.c
   gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.h
   gnucash/trunk/src/gnome-utils/gnc-tree-model-commodity.c
   gnucash/trunk/src/gnome-utils/gnc-tree-model-price.c
   gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c
   gnucash/trunk/src/register/register-gnome/gnucash-item-list.c
   gnucash/trunk/src/report/report-gnome/dialog-style-sheet.c
Log:
Prepare for gtk change that will issue warnings if the return value of
the gtk_tree_model iter functions are not used.


Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/ChangeLog	2006-02-18 03:02:32 UTC (rev 13287)
@@ -1,3 +1,18 @@
+2006-02-17  David Hampton  <hampton at employees.org>
+
+	* src/register/register-gnome/gnucash-item-list.c:
+	* src/report/report-gnome/dialog-style-sheet.c:
+	* src/gnome-utils/gnc-tree-model-commodity.c:
+	* src/gnome-utils/gnc-tree-model-budget.[ch]:
+	* src/gnome-utils/gnc-tree-model-account.c:
+	* src/gnome-utils/gnc-tree-model-price.c:
+	* src/gnome-utils/gnc-tree-view-account.c:
+	* src/gnome-utils/dialog-options.c:
+	* lib/goffice-0.0.4/goffice/graph/gog-guru.c:
+	* lib/goffice-0.0.4/goffice/gtk/go-format-sel.c: Prepare for gtk
+	change that will issue warnings if the return value of the
+	gtk_tree_model iter functions are not used.
+
 2006-02-17  Derek Atkins <derek at ihtfp.com>
 
         * intl-scm/Makefile.am:

Modified: gnucash/trunk/lib/goffice-0.0.4/goffice/graph/gog-guru.c
===================================================================
--- gnucash/trunk/lib/goffice-0.0.4/goffice/graph/gog-guru.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/lib/goffice-0.0.4/goffice/graph/gog-guru.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -539,14 +539,17 @@
 	if (s->prop_object != NULL) {
 		GtkTreeIter iter;
 		GogObject *obj = s->prop_object;
+		gboolean have_iter;
 
 		/* store parent iter */
-		gtk_tree_model_iter_parent (GTK_TREE_MODEL (s->prop_model),
-			&iter, &s->prop_iter);
+		have_iter =
+		  gtk_tree_model_iter_parent (GTK_TREE_MODEL (s->prop_model),
+					      &iter, &s->prop_iter);
 		gog_object_clear_parent (obj);
 		g_object_unref (obj);
 		/* then select the parent after we delete */
-		gtk_tree_selection_select_iter (s->prop_selection, &iter);
+		if (have_iter)
+		  gtk_tree_selection_select_iter (s->prop_selection, &iter);
 	}
 }
 
@@ -955,10 +958,13 @@
 		gint i = g_slist_index (gparent->children, obj);
 		if (i > 0) {
 			GtkTreeIter sibling;
-			gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (s->prop_model),
-				&sibling, parent, i-1);
-			gtk_tree_store_insert_after (s->prop_model, &iter,
+			if (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (s->prop_model),
+				&sibling, parent, i-1)) {
+			  gtk_tree_store_insert_after (s->prop_model, &iter,
 				parent, &sibling);
+			} else {
+			  gtk_tree_store_append (s->prop_model, &iter, parent);
+			}
 		} else
 			gtk_tree_store_prepend (s->prop_model, &iter, parent);
 	} else

Modified: gnucash/trunk/lib/goffice-0.0.4/goffice/gtk/go-format-sel.c
===================================================================
--- gnucash/trunk/lib/goffice-0.0.4/goffice/gtk/go-format-sel.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/lib/goffice-0.0.4/goffice/gtk/go-format-sel.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -563,10 +563,12 @@
 				char *tmp = go_format_as_XL (gfs->format.spec, TRUE);
 				format_entry_set_text (gfs, tmp);
 				g_free (tmp);
-			} else if (select.stamp == 0)
-				gtk_tree_model_get_iter_first (
-					GTK_TREE_MODEL (gfs->format.formats.model),
-					&select);
+			} else if (select.stamp == 0) {
+				if (!gtk_tree_model_get_iter_first (
+					   GTK_TREE_MODEL (gfs->format.formats.model),
+					   &select))
+					select.stamp = 0;
+			}
 
 			if (select.stamp != 0) {
 				GtkTreePath *path = gtk_tree_model_get_path (

Modified: gnucash/trunk/src/gnome-utils/dialog-options.c
===================================================================
--- gnucash/trunk/src/gnome-utils/dialog-options.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/gnome-utils/dialog-options.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -2383,8 +2383,8 @@
         bgt = gw_wcp_get_ptr(value);
         cb = GTK_COMBO_BOX(widget);
         tm = gtk_combo_box_get_model(cb);
-        gnc_tree_model_budget_get_iter_for_budget(tm, &iter, bgt);
-        gtk_combo_box_set_active_iter(cb, &iter);
+        if (gnc_tree_model_budget_get_iter_for_budget(tm, &iter, bgt))
+	  gtk_combo_box_set_active_iter(cb, &iter);
     }
 
 

Modified: gnucash/trunk/src/gnome-utils/gnc-tree-model-account.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-model-account.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-model-account.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -1247,8 +1247,8 @@
 
 	if (priv->toplevel != NULL) {
 		path = gtk_tree_path_new_first ();
-		gtk_tree_model_get_iter (GTK_TREE_MODEL (model), &iter, path);
-		gtk_tree_model_row_inserted (GTK_TREE_MODEL (model), path, &iter);
+		if (gtk_tree_model_get_iter (GTK_TREE_MODEL (model), &iter, path))
+		  gtk_tree_model_row_inserted (GTK_TREE_MODEL (model), path, &iter);
 		gtk_tree_path_free (path);
 	}
 

Modified: gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -119,7 +119,7 @@
     return bgt;
 }
 
-void 
+gboolean
 gnc_tree_model_budget_get_iter_for_budget(GtkTreeModel *tm, GtkTreeIter *iter,
                                           GncBudget *bgt)
 {
@@ -127,20 +127,23 @@
     const GUID *guid1;
     GUID *guid2;
 
-    g_return_if_fail(GNC_BUDGET(bgt));
+    g_return_val_if_fail(GNC_BUDGET(bgt), FALSE);
 
     guid1 = gnc_budget_get_guid(bgt);
-    for (gtk_tree_model_get_iter_first(tm, iter);
-         gtk_list_store_iter_is_valid(GTK_LIST_STORE(tm), iter);
-         gtk_tree_model_iter_next(tm, iter)) {
-
+    if (!gtk_tree_model_get_iter_first(tm, iter))
+      return FALSE;
+    while (gtk_list_store_iter_is_valid(GTK_LIST_STORE(tm), iter)) {
         gtk_tree_model_get_value(tm, iter, BUDGET_GUID_COLUMN, &gv);
         guid2 = (GUID *) g_value_get_pointer(&gv);
         g_value_unset(&gv);
 
         if (guid_equal(guid1, guid2))
-            return;
+            return TRUE;
+
+	if (!gtk_tree_model_iter_next(tm, iter))
+	  return FALSE;
     }
+    return FALSE;
 }
 
 /** @} */

Modified: gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.h
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.h	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-model-budget.h	2006-02-18 03:02:32 UTC (rev 13287)
@@ -49,8 +49,8 @@
 GncBudget *gnc_tree_model_budget_get_budget(GtkTreeModel *tm,
                                             GtkTreeIter *iter);
 
-void gnc_tree_model_budget_get_iter_for_budget(GtkTreeModel *tm,
-                                               GtkTreeIter *iter,
-                                               GncBudget *bgt);
+gboolean gnc_tree_model_budget_get_iter_for_budget(GtkTreeModel *tm,
+						   GtkTreeIter *iter,
+						   GncBudget *bgt);
 /** @} */
 #endif // __GNC_TREE_MODEL_BUDGET_H__

Modified: gnucash/trunk/src/gnome-utils/gnc-tree-model-commodity.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-model-commodity.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-model-commodity.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -1107,16 +1107,17 @@
     /* It seems sufficient to tell the model that the parent row
      * changed. This appears to force a reload of all its child rows,
      * which handles removing the now gone commodity. */
-    gtk_tree_path_up (path);
-    gnc_tree_model_commodity_get_iter (GTK_TREE_MODEL(model), &iter, path);
-    debug_path(DEBUG, path);
-    DEBUG("iter %s", iter_to_string(&iter));
-    gtk_tree_model_row_changed (GTK_TREE_MODEL(model), path, &iter);
-    namespace = gnc_tree_model_commodity_get_namespace (model, &iter);
-    if (namespace) {
-      list = gnc_commodity_namespace_get_commodity_list(namespace);
-      if (g_list_length(list) == 0) {
-	 gtk_tree_model_row_has_child_toggled(GTK_TREE_MODEL(model), path, &iter);
+    if (gtk_tree_path_up (path)) {
+      gnc_tree_model_commodity_get_iter (GTK_TREE_MODEL(model), &iter, path);
+      debug_path(DEBUG, path);
+      DEBUG("iter %s", iter_to_string(&iter));
+      gtk_tree_model_row_changed (GTK_TREE_MODEL(model), path, &iter);
+      namespace = gnc_tree_model_commodity_get_namespace (model, &iter);
+      if (namespace) {
+	list = gnc_commodity_namespace_get_commodity_list(namespace);
+	if (g_list_length(list) == 0) {
+	  gtk_tree_model_row_has_child_toggled(GTK_TREE_MODEL(model), path, &iter);
+	}
       }
     }
   }

Modified: gnucash/trunk/src/gnome-utils/gnc-tree-model-price.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-model-price.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-model-price.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -1362,13 +1362,13 @@
   GtkTreeIter iter;
 
   debug_path(ENTER, path);
-  do {
-    gtk_tree_path_up (path);
+  while (gtk_tree_path_up(path) && (gtk_tree_path_get_depth(path) > 0)) {
     debug_path(DEBUG, path);
-    gtk_tree_model_get_iter (GTK_TREE_MODEL(model), &iter, path);
-    DEBUG("iter %s", iter_to_string(model, &iter));
-    gtk_tree_model_row_changed (GTK_TREE_MODEL(model), path, &iter);
-  } while (gtk_tree_path_get_depth(path) > 1);
+    if (gtk_tree_model_get_iter (GTK_TREE_MODEL(model), &iter, path)) {
+      DEBUG("iter %s", iter_to_string(model, &iter));
+      gtk_tree_model_row_changed (GTK_TREE_MODEL(model), path, &iter);
+    }
+  }
 
   do {
     model->stamp++;

Modified: gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-view-account.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -1215,18 +1215,19 @@
   gtk_tree_view_expand_row (GTK_TREE_VIEW(view), sp_account, TRUE);
 
   /* compute start/end paths */
-  gtk_tree_model_iter_nth_child (s_model, &si_start, &si_account, 0);
-  gtk_tree_model_iter_nth_child (s_model, &si_end, &si_account, num_children - 1);
-  sp_start = gtk_tree_model_get_path (s_model, &si_start);
-  sp_end = gtk_tree_model_get_path (s_model, &si_end);
+  if (gtk_tree_model_iter_nth_child(s_model, &si_start, &si_account, 0) &&
+      gtk_tree_model_iter_nth_child(s_model, &si_end, &si_account, num_children - 1)) {
+    sp_start = gtk_tree_model_get_path (s_model, &si_start);
+    sp_end = gtk_tree_model_get_path (s_model, &si_end);
 
-  /* select everything between */
-  selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view));
-  gtk_tree_selection_select_range (selection, sp_start, sp_end);
+    /* select everything between */
+    selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view));
+    gtk_tree_selection_select_range (selection, sp_start, sp_end);
 
-  /* clean up */
-  gtk_tree_path_free(sp_start);
-  gtk_tree_path_free(sp_end);
+    /* clean up */
+    gtk_tree_path_free(sp_start);
+    gtk_tree_path_free(sp_end);
+  }
   gtk_tree_path_free(sp_account);
   LEAVE(" ");
   return;

Modified: gnucash/trunk/src/register/register-gnome/gnucash-item-list.c
===================================================================
--- gnucash/trunk/src/register/register-gnome/gnucash-item-list.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/register/register-gnome/gnucash-item-list.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -217,6 +217,7 @@
         GtkTreePath *path;
         GtkTreeModel *model;
         gchar *string;
+	gboolean success;
 
         g_return_val_if_fail(IS_GNC_ITEM_LIST (data), FALSE);
 
@@ -239,12 +240,15 @@
                         gtk_tree_view_set_cursor (item_list->tree_view, path, NULL, FALSE);
 
                         model = GTK_TREE_MODEL (item_list->list_store);
-                        gtk_tree_model_get_iter (model, &iter, path);
+                        success = gtk_tree_model_get_iter (model, &iter, path);
 
                         gtk_tree_path_free (path);
 
-                        gtk_tree_model_get (model, &iter, 0, &string, -1);
+			if (!success)
+				return FALSE;
 
+			gtk_tree_model_get (model, &iter, 0, &string, -1);
+
 	                g_signal_emit (G_OBJECT (item_list), 
                                        gnc_item_list_signals[ACTIVATE_ITEM],
                                        0, 

Modified: gnucash/trunk/src/report/report-gnome/dialog-style-sheet.c
===================================================================
--- gnucash/trunk/src/report/report-gnome/dialog-style-sheet.c	2006-02-18 02:49:47 UTC (rev 13286)
+++ gnucash/trunk/src/report/report-gnome/dialog-style-sheet.c	2006-02-18 03:02:32 UTC (rev 13287)
@@ -107,11 +107,11 @@
 
   if (gtk_tree_row_reference_valid (ssi->row_ref)) {
     StyleSheetDialog * ss = gnc_style_sheet_dialog;
-    gtk_tree_model_get_iter (GTK_TREE_MODEL(ss->list_store), &iter,
-			     gtk_tree_row_reference_get_path (ssi->row_ref));
-    gtk_list_store_set (ss->list_store, &iter,
-			COLUMN_DIALOG, NULL,
-			-1);
+    if (gtk_tree_model_get_iter (GTK_TREE_MODEL(ss->list_store), &iter,
+				 gtk_tree_row_reference_get_path (ssi->row_ref)))
+      gtk_list_store_set (ss->list_store, &iter,
+			  COLUMN_DIALOG, NULL,
+			  -1);
     
   }
   gtk_tree_row_reference_free (ssi->row_ref);



More information about the gnucash-changes mailing list