aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-03-23 11:59:35 +0000
committerChristian Grothoff <christian@grothoff.org>2012-03-23 11:59:35 +0000
commit2eb49ab16579794fdc5df74dbb45d126a6f4d6f2 (patch)
treea655b1ddd90bcf602db456693d17adaa1a0e7911
parent88843eb611f92edb06cff4bb5a1bf87f8465b243 (diff)
downloadgnunet-gtk-2eb49ab16579794fdc5df74dbb45d126a6f4d6f2.tar.gz
gnunet-gtk-2eb49ab16579794fdc5df74dbb45d126a6f4d6f2.zip
-fix error handling for corner cases
-rw-r--r--src/fs/gnunet-fs-gtk_event-handler.c12
-rw-r--r--src/fs/gnunet-fs-gtk_main-window-namespace-dropdown.c19
-rw-r--r--src/fs/gnunet-fs-gtk_main-window-search.c3
-rw-r--r--src/fs/gnunet-fs-gtk_namespace_manager.c12
4 files changed, 28 insertions, 18 deletions
diff --git a/src/fs/gnunet-fs-gtk_event-handler.c b/src/fs/gnunet-fs-gtk_event-handler.c
index de06d2a7..fb1fdb97 100644
--- a/src/fs/gnunet-fs-gtk_event-handler.c
+++ b/src/fs/gnunet-fs-gtk_event-handler.c
@@ -1468,14 +1468,18 @@ update_search_result (struct SearchResult *sr,
1468 "Updating search result SR=%p with %d, %u, %u\n", 1468 "Updating search result SR=%p with %d, %u, %u\n",
1469 sr, availability_rank, 1469 sr, availability_rank,
1470 availability_certainty, applicability_rank); 1470 availability_certainty, applicability_rank);
1471 desc = GNUNET_FS_GTK_get_description_from_metadata (meta, &desc_is_a_dup);
1472 mime = get_mimetype_from_metadata (meta);
1473 pixbuf = GNUNET_FS_GTK_get_thumbnail_from_meta_data (meta);
1474 tp = gtk_tree_row_reference_get_path (sr->rr); 1471 tp = gtk_tree_row_reference_get_path (sr->rr);
1475 tm = gtk_tree_row_reference_get_model (sr->rr); 1472 tm = gtk_tree_row_reference_get_model (sr->rr);
1476 ts = GTK_TREE_STORE (tm); 1473 ts = GTK_TREE_STORE (tm);
1477 gtk_tree_model_get_iter (tm, &iter, tp); 1474 if (! gtk_tree_model_get_iter (tm, &iter, tp))
1475 {
1476 GNUNET_break (0);
1477 return;
1478 }
1478 gtk_tree_path_free (tp); 1479 gtk_tree_path_free (tp);
1480 desc = GNUNET_FS_GTK_get_description_from_metadata (meta, &desc_is_a_dup);
1481 mime = get_mimetype_from_metadata (meta);
1482 pixbuf = GNUNET_FS_GTK_get_thumbnail_from_meta_data (meta);
1479 gtk_tree_model_get (tm, &iter, 0, &ometa, -1); 1483 gtk_tree_model_get (tm, &iter, 0, &ometa, -1);
1480 if (NULL != ometa) 1484 if (NULL != ometa)
1481 GNUNET_CONTAINER_meta_data_destroy (ometa); 1485 GNUNET_CONTAINER_meta_data_destroy (ometa);
diff --git a/src/fs/gnunet-fs-gtk_main-window-namespace-dropdown.c b/src/fs/gnunet-fs-gtk_main-window-namespace-dropdown.c
index 70a63192..b9b7daaa 100644
--- a/src/fs/gnunet-fs-gtk_main-window-namespace-dropdown.c
+++ b/src/fs/gnunet-fs-gtk_main-window-namespace-dropdown.c
@@ -370,7 +370,7 @@ GNUNET_GTK_main_window_refresh_ns_list (struct GNUNET_GTK_MainWindowContext *mai
370 memcpy (selected_ns_id, key, sizeof (GNUNET_HashCode)); 370 memcpy (selected_ns_id, key, sizeof (GNUNET_HashCode));
371 } 371 }
372 372
373 if (TRUE == gtk_tree_model_get_iter_first (GTK_TREE_MODEL ( 373 if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
374 main_ctx->search_ns_treestore), &iter)) 374 main_ctx->search_ns_treestore), &iter))
375 { 375 {
376 while (TRUE) 376 while (TRUE)
@@ -398,7 +398,7 @@ GNUNET_GTK_main_window_refresh_ns_list (struct GNUNET_GTK_MainWindowContext *mai
398 add_namespace_to_ts, main_ctx->search_ns_treestore); 398 add_namespace_to_ts, main_ctx->search_ns_treestore);
399 main_ctx->ns_callback_registered = GNUNET_YES; 399 main_ctx->ns_callback_registered = GNUNET_YES;
400 400
401 if (TRUE == gtk_tree_model_get_iter_first (GTK_TREE_MODEL ( 401 if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
402 main_ctx->search_ns_treestore), &iter)) 402 main_ctx->search_ns_treestore), &iter))
403 { 403 {
404 while (TRUE) 404 while (TRUE)
@@ -418,19 +418,22 @@ GNUNET_GTK_main_window_refresh_ns_list (struct GNUNET_GTK_MainWindowContext *mai
418 g_free (value); 418 g_free (value);
419 } 419 }
420 } 420 }
421 if (!found) 421 if ( (!found) &&
422 gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
423 main_ctx->search_ns_treestore), &iter))
422 { 424 {
423 gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
424 main_ctx->search_ns_treestore), &iter);
425 gtk_tree_model_get (GTK_TREE_MODEL (main_ctx->search_ns_treestore), &iter, 425 gtk_tree_model_get (GTK_TREE_MODEL (main_ctx->search_ns_treestore), &iter,
426 0, &value, 1, &key, -1); 426 0, &value, 1, &key, -1);
427 found = TRUE; 427 found = TRUE;
428 } 428 }
429 gtk_tree_selection_select_iter (gtk_tree_view_get_selection 429 if (found)
430 (main_ctx->ns_selector_treeview), &iter); 430 gtk_tree_selection_select_iter (gtk_tree_view_get_selection
431 (main_ctx->ns_selector_treeview), &iter);
431 if (value != NULL) 432 if (value != NULL)
433 {
432 gtk_label_set_text (main_ctx->search_ns_label, value); 434 gtk_label_set_text (main_ctx->search_ns_label, value);
433 g_free(value); 435 g_free(value);
436 }
434 GNUNET_free_non_null (selected_ns_id); 437 GNUNET_free_non_null (selected_ns_id);
435} 438}
436 439
diff --git a/src/fs/gnunet-fs-gtk_main-window-search.c b/src/fs/gnunet-fs-gtk_main-window-search.c
index ff43ff62..cf4d969c 100644
--- a/src/fs/gnunet-fs-gtk_main-window-search.c
+++ b/src/fs/gnunet-fs-gtk_main-window-search.c
@@ -63,7 +63,8 @@ start_search (struct GNUNET_GTK_MainWindowContext *main_ctx)
63 if ( (NULL != mime_model) && 63 if ( (NULL != mime_model) &&
64 gtk_combo_box_get_active_iter (mime_combo, &iter)) 64 gtk_combo_box_get_active_iter (mime_combo, &iter))
65 gtk_tree_model_get (mime_model, &iter, 0, &mime_keyword, -1); 65 gtk_tree_model_get (mime_model, &iter, 0, &mime_keyword, -1);
66 if (0 == strcmp (mime_keyword, " ")) 66 if ( (NULL != mime_keyword) &&
67 (0 == strcmp (mime_keyword, " ")) )
67 { 68 {
68 g_free (mime_keyword); 69 g_free (mime_keyword);
69 mime_keyword = NULL; 70 mime_keyword = NULL;
diff --git a/src/fs/gnunet-fs-gtk_namespace_manager.c b/src/fs/gnunet-fs-gtk_namespace_manager.c
index d40fb629..8330949b 100644
--- a/src/fs/gnunet-fs-gtk_namespace_manager.c
+++ b/src/fs/gnunet-fs-gtk_namespace_manager.c
@@ -87,7 +87,7 @@ sort_order_list (struct GNUNET_GTK_NamespaceManagerContext *ctx,
87 87
88 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL ( 88 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (
89 ctx->ns_order_store), NULL); 89 ctx->ns_order_store), NULL);
90 if (TRUE != gtk_tree_model_get_iter_first (GTK_TREE_MODEL ( 90 if (! gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
91 ctx->ns_order_store), &iter)) 91 ctx->ns_order_store), &iter))
92 return; 92 return;
93 93
@@ -141,6 +141,8 @@ sort_order_list (struct GNUNET_GTK_NamespaceManagerContext *ctx,
141 cmp_result = strcmp (row_strings[i], row_strings[i + 1]); 141 cmp_result = strcmp (row_strings[i], row_strings[i + 1]);
142 break; 142 break;
143 default: 143 default:
144 GNUNET_break (0);
145 cmp_result = 0;
144 break; 146 break;
145 } 147 }
146 148
@@ -316,7 +318,7 @@ GNUNET_GTK_namespace_manager_namespace_order_apply_clicked_cb (
316 318
317 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL ( 319 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (
318 ctx->ns_order_store), NULL); 320 ctx->ns_order_store), NULL);
319 if (TRUE != gtk_tree_model_get_iter_first (GTK_TREE_MODEL ( 321 if (! gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
320 ctx->ns_order_store), &iter)) 322 ctx->ns_order_store), &iter))
321 return; 323 return;
322 324
@@ -388,7 +390,7 @@ GNUNET_GTK_namespace_manager_namespace_details_apply_button_clicked_cb (
388 390
389 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL ( 391 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (
390 ctx->ns_details_store), NULL); 392 ctx->ns_details_store), NULL);
391 if ((row_count > 0) && (TRUE != gtk_tree_model_get_iter_first ( 393 if ((row_count > 0) && (! gtk_tree_model_get_iter_first (
392 GTK_TREE_MODEL (ctx->ns_details_store), &iter))) 394 GTK_TREE_MODEL (ctx->ns_details_store), &iter)))
393 { 395 {
394 /* This should not happen */ 396 /* This should not happen */
@@ -657,7 +659,7 @@ apply_known_ns_changes (struct GNUNET_GTK_NamespaceManagerContext *ctx)
657 659
658 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL ( 660 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (
659 ctx->known_ns_store), NULL); 661 ctx->known_ns_store), NULL);
660 if (TRUE != gtk_tree_model_get_iter_first (GTK_TREE_MODEL ( 662 if (! gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
661 ctx->known_ns_store), &iter)) 663 ctx->known_ns_store), &iter))
662 return; 664 return;
663 665
@@ -690,7 +692,7 @@ free_lists_contents (struct GNUNET_GTK_NamespaceManagerContext *ctx)
690 692
691 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL ( 693 row_count = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (
692 ctx->known_ns_store), NULL); 694 ctx->known_ns_store), NULL);
693 if (TRUE != gtk_tree_model_get_iter_first (GTK_TREE_MODEL ( 695 if (! gtk_tree_model_get_iter_first (GTK_TREE_MODEL (
694 ctx->known_ns_store), &iter)) 696 ctx->known_ns_store), &iter))
695 return; 697 return;
696 698