[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18900 - gnunet-gtk/src/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18900 - gnunet-gtk/src/fs |
Date: |
Sun, 1 Jan 2012 23:37:47 +0100 |
Author: grothoff
Date: 2012-01-01 23:37:47 +0100 (Sun, 01 Jan 2012)
New Revision: 18900
Modified:
gnunet-gtk/src/fs/gnunet-fs-gtk-event_handler.c
Log:
fixing #2053 and undoing parts of 18880 (diagnostic assertions no longer needed
/ potentially harmful) -- if URI is NULL, do not display download context menu
and ignore double-clicks
Modified: gnunet-gtk/src/fs/gnunet-fs-gtk-event_handler.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk-event_handler.c 2012-01-01 22:29:14 UTC
(rev 18899)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk-event_handler.c 2012-01-01 22:37:47 UTC
(rev 18900)
@@ -618,7 +618,6 @@
GtkTreeIter child;
GtkTreeModel *model;
- GNUNET_assert (NULL != de->uri);
rr_old = de->rr;
tab = GNUNET_GTK_add_to_uri_tab (&iter, &de->sr, de->meta, de->uri);
de->sr->download = de;
@@ -786,11 +785,18 @@
return;
}
gtk_tree_model_get (tm, &iter, 0, &meta, 1, &uri, 9, &sr, 10, &mime, -1);
+ if (NULL == uri)
+ {
+ /* user clicked on directory that was opened (not downloaded!), so we
+ have no URI and downloading makes no sense. Ignore! */
+ if (NULL != mime)
+ g_free (mime);
+ return;
+ }
if (!(GNUNET_FS_uri_test_chk (uri) || GNUNET_FS_uri_test_loc (uri)))
{
/* can only download chk/loc URIs, ignore */
g_free (mime);
- GNUNET_free (sdc);
return;
}
@@ -998,6 +1004,7 @@
GtkTreeModel *tm;
GtkTreeIter iter;
struct SearchResult *sr;
+ struct GNUNET_FS_Uri *uri;
tv = GTK_TREE_VIEW (widget);
if (event->type == GDK_BUTTON_PRESS)
@@ -1027,7 +1034,7 @@
current_context_search_tab = NULL;
return FALSE;
}
- gtk_tree_model_get (tm, &iter, 9, &sr, -1);
+ gtk_tree_model_get (tm, &iter, 1, &uri, 9, &sr, -1);
current_context_row_reference = gtk_tree_row_reference_new (tm, path);
gtk_tree_path_free (path);
@@ -1044,23 +1051,27 @@
"Creating a menu for SR=%p, DE=%p\n", sr, sr->download);
if (sr->download == NULL)
{
- child = gtk_menu_item_new_with_label (_("_Download"));
- g_signal_connect (child, "activate",
- G_CALLBACK (start_download_ctx_menu), NULL);
- gtk_label_set_use_underline (GTK_LABEL
- (gtk_bin_get_child (GTK_BIN (child))),
- TRUE);
- gtk_widget_show (child);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), child);
-
- child = gtk_menu_item_new_with_label (_("Download _recursively"));
- g_signal_connect (child, "activate",
- G_CALLBACK (start_download_recursively_ctx_menu),
NULL);
- gtk_label_set_use_underline (GTK_LABEL
- (gtk_bin_get_child (GTK_BIN (child))),
- TRUE);
- gtk_widget_show (child);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), child);
+ if (NULL != uri)
+ {
+ /* only display download menus if there is a URI */
+ child = gtk_menu_item_new_with_label (_("_Download"));
+ g_signal_connect (child, "activate",
+ G_CALLBACK (start_download_ctx_menu), NULL);
+ gtk_label_set_use_underline (GTK_LABEL
+ (gtk_bin_get_child (GTK_BIN (child))),
+ TRUE);
+ gtk_widget_show (child);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), child);
+
+ child = gtk_menu_item_new_with_label (_("Download _recursively"));
+ g_signal_connect (child, "activate",
+ G_CALLBACK (start_download_recursively_ctx_menu),
NULL);
+ gtk_label_set_use_underline (GTK_LABEL
+ (gtk_bin_get_child (GTK_BIN (child))),
+ TRUE);
+ gtk_widget_show (child);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), child);
+ }
}
else
{
@@ -1515,8 +1526,7 @@
GtkTreeStore *ts;
uint64_t fsize;
- GNUNET_assert (NULL != uri);
- if ((!GNUNET_FS_uri_test_loc (uri)) &&
+ if ((uri != NULL) && (!GNUNET_FS_uri_test_loc (uri)) &&
(!GNUNET_FS_uri_test_chk (uri)))
{
fsize = 0;
@@ -1648,7 +1658,6 @@
struct SearchResult *sr;
GtkTreeIter iter;
- GNUNET_assert (NULL != uri);
sr = GNUNET_GTK_add_search_result (tab, &iter,
(parent != NULL) ? parent->rr : NULL, uri,
meta, result, applicability_rank);
@@ -1676,7 +1685,6 @@
GtkNotebook *notebook;
gint page;
- GNUNET_assert (NULL != uri);
if (uri_tab == NULL)
{
uri_tab = setup_search (NULL, NULL);
@@ -2129,7 +2137,6 @@
info->value.search.specifics.resume.message);
return ret;
case GNUNET_FS_STATUS_SEARCH_RESUME_RESULT:
- GNUNET_assert (NULL != info->value.search.specifics.resume_result.uri);
ret =
process_search_result (info->value.search.cctx,
info->value.search.pctx,
info->value.search.specifics.resume_result.uri,
@@ -2151,7 +2158,6 @@
close_search_tab (info->value.search.cctx);
return NULL;
case GNUNET_FS_STATUS_SEARCH_RESULT:
- GNUNET_assert (NULL != info->value.search.specifics.result.uri);
return process_search_result (info->value.search.cctx,
info->value.search.pctx,
info->value.search.specifics.result.uri,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18900 - gnunet-gtk/src/fs,
gnunet <=