[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r26314 - gnunet-gtk/src/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r26314 - gnunet-gtk/src/fs |
Date: |
Tue, 5 Mar 2013 07:04:22 +0100 |
Author: LRN
Date: 2013-03-05 07:04:22 +0100 (Tue, 05 Mar 2013)
New Revision: 26314
Modified:
gnunet-gtk/src/fs/gnunet-fs-gtk_namespace_manager.c
Log:
Be more careful with liststore contents
Modified: gnunet-gtk/src/fs/gnunet-fs-gtk_namespace_manager.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk_namespace_manager.c 2013-03-05 04:53:22 UTC
(rev 26313)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk_namespace_manager.c 2013-03-05 06:04:22 UTC
(rev 26314)
@@ -211,21 +211,29 @@
GNUNET_GTK_KNOWN_NAMESPACES_ORDER_ROW_REFERENCE_COLUMN, &order_row,
GNUNET_GTK_KNOWN_NAMESPACES_METADATA_COLUMN, &md,
-1);
+ /* Make sure the store does not contain references to freed objects */
+ gtk_list_store_set (ctx->known_ns_store, &iter,
+ GNUNET_GTK_KNOWN_NAMESPACES_IDENTIFIER_BIN_COLUMN, NULL,
+ GNUNET_GTK_KNOWN_NAMESPACES_ORDER_ROW_REFERENCE_COLUMN, NULL,
+ GNUNET_GTK_KNOWN_NAMESPACES_METADATA_COLUMN, NULL,
+ -1);
GNUNET_CONTAINER_meta_data_destroy (md);
- gtk_list_store_remove (ctx->known_ns_store, &iter);
if (order_row != NULL)
{
if (GNUNET_OK == GNUNET_GTK_get_iter_from_reference (order_row, &iter))
{
gtk_tree_model_get (GTK_TREE_MODEL (ctx->ns_order_store), &iter,
GNUNET_GTK_NAMESPACE_ORDER_KNOWN_ROW_REFERENCE_COLUMN, &known_row, -1);
- gtk_list_store_remove (ctx->ns_order_store, &iter);
+ gtk_list_store_set (ctx->ns_order_store, &iter,
+ GNUNET_GTK_NAMESPACE_ORDER_KNOWN_ROW_REFERENCE_COLUMN, NULL, -1);
if (known_row != NULL)
gtk_tree_row_reference_free (known_row);
+ gtk_list_store_remove (ctx->ns_order_store, &iter);
}
gtk_tree_row_reference_free (order_row);
}
- GNUNET_free (nsid);
+ GNUNET_free_non_null (nsid);
+ gtk_list_store_remove (ctx->known_ns_store, &iter);
gtk_list_store_clear (ctx->ns_details_store);
GNUNET_CONTAINER_meta_data_destroy (ctx->uneditable_md);
@@ -703,6 +711,12 @@
GNUNET_GTK_KNOWN_NAMESPACES_ORDER_ROW_REFERENCE_COLUMN, &order_row,
GNUNET_GTK_KNOWN_NAMESPACES_METADATA_COLUMN, &md,
-1);
+ /* Make sure the store does not contain references to freed objects */
+ gtk_list_store_set (ctx->known_ns_store, &iter,
+ GNUNET_GTK_KNOWN_NAMESPACES_IDENTIFIER_BIN_COLUMN, NULL,
+ GNUNET_GTK_KNOWN_NAMESPACES_ORDER_ROW_REFERENCE_COLUMN, NULL,
+ GNUNET_GTK_KNOWN_NAMESPACES_METADATA_COLUMN, NULL,
+ -1);
if (order_row != NULL)
{
GtkTreeIter order_iter;
@@ -885,8 +899,11 @@
ctx->uneditable_md = GNUNET_CONTAINER_meta_data_create ();
gtk_list_store_clear (ctx->ns_details_store);
gtk_widget_set_sensitive (ctx->details_apply_button, FALSE);
- GNUNET_CONTAINER_meta_data_iterate ((const struct GNUNET_CONTAINER_MetaData
*) md,
- populate_details_list, ctx);
+ if (NULL != md)
+ GNUNET_CONTAINER_meta_data_iterate ((const struct
GNUNET_CONTAINER_MetaData *) md,
+ populate_details_list, ctx);
+ else
+ GNUNET_break (0);
gtk_widget_set_sensitive (ctx->details_apply_button, FALSE);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r26314 - gnunet-gtk/src/fs,
gnunet <=