[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet-gtk] branch master updated: fix crash due to incorr
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet-gtk] branch master updated: fix crash due to incorrect handling of lost parent event for child-downloads (where the lost parent affected a (transitive) parent download and not the download directly |
Date: |
Fri, 10 Mar 2017 02:20:25 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository gnunet-gtk.
The following commit(s) were added to refs/heads/master by this push:
new afeb8ca4 fix crash due to incorrect handling of lost parent event for
child-downloads (where the lost parent affected a (transitive) parent download
and not the download directly
afeb8ca4 is described below
commit afeb8ca4192373b376cc1699402a824d94989327
Author: Christian Grothoff <address@hidden>
AuthorDate: Fri Mar 10 02:20:20 2017 +0100
fix crash due to incorrect handling of lost parent event for
child-downloads (where the lost parent affected a (transitive) parent download
and not the download directly
---
contrib/gnunet_fs_gtk_main_window.glade | 11 +-
src/fs/gnunet-fs-gtk_event-handler.c | 224 +++++++++++++++++++++++---------
src/fs/gnunet-fs-gtk_event-handler.h | 2 +-
3 files changed, 170 insertions(+), 67 deletions(-)
diff --git a/contrib/gnunet_fs_gtk_main_window.glade
b/contrib/gnunet_fs_gtk_main_window.glade
index 94e03bef..2b9f580a 100644
--- a/contrib/gnunet_fs_gtk_main_window.glade
+++ b/contrib/gnunet_fs_gtk_main_window.glade
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<object class="GtkAdjustment"
id="GNUNET_GTK_edit_publication_metadata_preview_image_horizontal_adjustment">
@@ -1181,8 +1181,6 @@ This operation will be executed using the anonymity level
specified on the right
<property name="can_focus">False</property>
<property name="label" translatable="yes">Download
into:</property>
<property name="single_line_mode">True</property>
- <property name="xalign">1</property>
- <property
name="yalign">0.43999999761581421</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1221,8 +1219,6 @@ This operation will be executed using the anonymity level
specified on the right
<property name="can_focus">False</property>
<property name="label" translatable="yes">Download
as:</property>
<property name="single_line_mode">True</property>
- <property name="xalign">1</property>
- <property
name="yalign">0.43999999761581421</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1250,8 +1246,8 @@ This operation will be executed using the anonymity level
specified on the right
<property name="height_request">1</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="receives_default">False</property>
<property name="focus_on_click">False</property>
+ <property name="receives_default">False</property>
<signal name="clicked"
handler="GNUNET_GTK_search_frame_download_filename_change_button_clicked_cb"
swapped="no"/>
</object>
<packing>
@@ -1278,7 +1274,6 @@ This operation will be executed using the anonymity level
specified on the right
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label"
translatable="yes">Anonymity:</property>
- <property name="xalign">1</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1325,7 +1320,6 @@ This operation will be executed using the anonymity level
specified on the right
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="xalign">0.5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -1384,6 +1378,7 @@ This operation will be executed using the anonymity level
specified on the right
<object class="GtkBox" id="GNUNET_GTK_main_window_extras_vbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
<child>
<object class="GtkImage"
id="GNUNET_GTK_main_window_preview_image">
<property name="visible">True</property>
diff --git a/src/fs/gnunet-fs-gtk_event-handler.c
b/src/fs/gnunet-fs-gtk_event-handler.c
index 5015e6ca..ff481140 100644
--- a/src/fs/gnunet-fs-gtk_event-handler.c
+++ b/src/fs/gnunet-fs-gtk_event-handler.c
@@ -1580,13 +1580,18 @@ static void
close_search_tab (struct SearchTab *tab)
{
struct GNUNET_GTK_MainWindowContext *mctx = GNUNET_FS_GTK_get_main_context
();
+ GtkTreeIter iter;
int index;
int i;
- if (tab->parent != NULL)
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Closing search tab `%s'\n",
+ tab->query_txt);
+ if (NULL != tab->parent)
{
/* not a top-level search (namespace update search), do not close
tab here! */
+ tab->parent->tab = NULL;
GNUNET_free (tab);
return;
}
@@ -1595,10 +1600,31 @@ close_search_tab (struct SearchTab *tab)
for (i = gtk_notebook_get_n_pages (mctx->notebook) - 1; i >= 0; i--)
if (tab->frame == gtk_notebook_get_nth_page (mctx->notebook, i))
index = i;
- gtk_notebook_remove_page (mctx->notebook, index);
+ if (gtk_tree_model_iter_children (GTK_TREE_MODEL (tab->ts),
+ &iter,
+ NULL))
+ {
+ do
+ {
+ struct SearchResult *sr;
+
+ gtk_tree_model_get (GTK_TREE_MODEL (tab->ts),
+ &iter,
+ SEARCH_TAB_MC_SEARCH_RESULT, &sr,
+ -1);
+ if (NULL != sr)
+ sr->tab = NULL;
+ }
+ while (gtk_tree_model_iter_next (GTK_TREE_MODEL (tab->ts),
+ &iter));
+ }
+ gtk_notebook_remove_page (mctx->notebook,
+ index);
g_object_unref (tab->builder);
GNUNET_free (tab->query_txt);
- GNUNET_CONTAINER_DLL_remove (search_tab_head, search_tab_tail, tab);
+ GNUNET_CONTAINER_DLL_remove (search_tab_head,
+ search_tab_tail,
+ tab);
if (tab == uri_tab)
uri_tab = NULL;
if (NULL != tab->atv)
@@ -1648,12 +1674,16 @@ GNUNET_FS_GTK_close_uri_tab_ ()
static void
download_lost_parent (struct DownloadEntry *de)
{
- de->sr->tab = NULL;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Download %p lost search parent; removing from search result %p
list.\n",
+ de,
+ de->sr);
if (NULL != de->sr->rr)
{
gtk_tree_row_reference_free (de->sr->rr);
de->sr->rr = NULL;
}
+ de->sr = NULL;
}
@@ -1755,7 +1785,8 @@ free_search_result (struct SearchResult *sr)
return;
}
/* get ready for later removal of the tree */
- gtk_tree_store_set (GTK_TREE_STORE (tm), &iter,
+ gtk_tree_store_set (GTK_TREE_STORE (tm),
+ &iter,
SEARCH_TAB_MC_METADATA, NULL,
SEARCH_TAB_MC_URI, NULL,
SEARCH_TAB_MC_SEARCH_RESULT, NULL,
@@ -1940,14 +1971,18 @@ GNUNET_GTK_main_window_notebook_switch_page_cb
(GtkWidget * dummy,
* User clicked on the 'close' button for a search tab. Tell FS to stop the
search.
*
* @param button the 'close' button
- * @param user_data the 'struct SearchTab' of the tab to close
+ * @param user_data the `struct SearchTab` of the tab to close
*/
void
-GNUNET_FS_GTK_search_result_close_button_clicked (GtkButton *button, gpointer
user_data)
+GNUNET_FS_GTK_search_result_close_button_clicked (GtkButton *button,
+ gpointer user_data)
{
struct SearchTab *tab = user_data;
struct GNUNET_FS_SearchContext *sc;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Stopping search `%s'\n",
+ tab->query_txt);
sc = tab->sc;
if (NULL == sc)
{
@@ -2082,13 +2117,16 @@ GNUNET_FS_GTK_downloads_clear_button_clicked (GtkButton
* button,
(GNUNET_YES == sr->download->is_done) )
{
/* got a finished download, stop it */
- GNUNET_FS_download_stop (sr->download->dc, GNUNET_YES);
- if (! gtk_tree_model_get_iter_first (tm, &iter))
+ GNUNET_FS_download_stop (sr->download->dc,
+ GNUNET_YES);
+ if (! gtk_tree_model_get_iter_first (tm,
+ &iter))
return;
}
if ( (NULL == sr->download) &&
(NULL == sr->result) &&
- (GNUNET_YES == stop_downloads_in_subtree (tm, &iter)) )
+ (GNUNET_YES == stop_downloads_in_subtree (tm,
+ &iter)) )
{
/* no active download and no associated FS-API search result;
so this must be some left-over entry from an opened
@@ -2747,23 +2785,35 @@ change_download_color (struct DownloadEntry *de,
{
GtkTreeIter iter;
GtkTreePath *path;
+ struct DownloadEntry *deep;
+ struct SearchTab *tab;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Changing download DE=%p color to %s\n",
- de, color);
- if (NULL != de->sr->tab)
+ de,
+ color);
+ deep = de;
+ while (NULL != deep->pde)
+ deep = deep->pde;
+ tab = NULL;
+ if ( (NULL != deep->sr) &&
+ (NULL != (tab = deep->sr->tab)) )
{
path = gtk_tree_row_reference_get_path (de->sr->rr);
- GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (de->sr->tab->ts),
- &iter, path));
+ GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (tab->ts),
+ &iter,
+ path));
gtk_tree_path_free (path);
- gtk_tree_store_set (de->sr->tab->ts, &iter,
+ gtk_tree_store_set (tab->ts,
+ &iter,
SEARCH_TAB_MC_STATUS_COLOUR, color,
-1);
}
/* do the same update to the downloads tree store */
- get_download_list_entry (de, &iter);
- gtk_tree_store_set (downloads_treestore, &iter,
+ get_download_list_entry (de,
+ &iter);
+ gtk_tree_store_set (downloads_treestore,
+ &iter,
SEARCH_TAB_MC_STATUS_COLOUR, color,
-1);
@@ -2782,19 +2832,30 @@ change_download_status_icon (struct DownloadEntry *de,
{
GtkTreeIter iter;
GtkTreePath *path;
+ struct DownloadEntry *deep;
+ struct SearchTab *tab;
- if (NULL != de->sr->tab)
+ deep = de;
+ while (NULL != deep->pde)
+ deep = deep->pde;
+ tab = NULL;
+ if ( (NULL != deep->sr) &&
+ (NULL != (tab = deep->sr->tab)) )
{
path = gtk_tree_row_reference_get_path (de->sr->rr);
- GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (de->sr->tab->ts),
&iter, path));
+ GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (tab->ts),
+ &iter,
+ path));
gtk_tree_path_free (path);
- gtk_tree_store_set (de->sr->tab->ts, &iter,
+ gtk_tree_store_set (tab->ts,
+ &iter,
SEARCH_TAB_MC_STATUS_ICON, icon,
-1);
}
/* do the same update to the downloads tree store */
get_download_list_entry (de, &iter);
- gtk_tree_store_set (downloads_treestore, &iter,
+ gtk_tree_store_set (downloads_treestore,
+ &iter,
SEARCH_TAB_MC_STATUS_ICON, icon,
-1);
}
@@ -2876,7 +2937,8 @@ static void
add_directory_entry (void *cls, const char *filename,
const struct GNUNET_FS_Uri *uri,
const struct GNUNET_CONTAINER_MetaData *meta,
- size_t length, const void *data)
+ size_t length,
+ const void *data)
{
struct AddDirectoryEntryContext *ade = cls;
GtkTreeIter iter;
@@ -2895,7 +2957,7 @@ add_directory_entry (void *cls, const char *filename,
the original search result... */
return;
}
- if (ade->check_duplicates == GNUNET_YES)
+ if (GNUNET_YES == ade->check_duplicates)
{
tm = gtk_tree_row_reference_get_model (ade->prr);
path = gtk_tree_row_reference_get_path (ade->prr);
@@ -2906,7 +2968,7 @@ add_directory_entry (void *cls, const char *filename,
return;
}
gtk_tree_path_free (path);
- if (TRUE == gtk_tree_model_iter_children (tm, &iter, &piter))
+ if (gtk_tree_model_iter_children (tm, &iter, &piter))
{
do
{
@@ -2916,13 +2978,15 @@ add_directory_entry (void *cls, const char *filename,
if (GNUNET_YES == GNUNET_FS_uri_test_equal (xuri, uri))
return; /* already present */
}
- while (TRUE == gtk_tree_model_iter_next (tm, &iter));
+ while (gtk_tree_model_iter_next (tm,
+ &iter));
}
}
GNUNET_GTK_add_search_result (ade->tab,
ade->anonymity,
ade->prr,
- uri, meta, NULL,
+ uri,
+ meta, NULL,
0);
}
@@ -2954,6 +3018,8 @@ mark_download_progress (struct DownloadEntry *de,
GtkTreeIter iter;
GtkTreeIter diter;
GtkTreePath *path;
+ struct DownloadEntry *deep;
+ struct SearchTab *tab;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Marking download progress for DE=%p, %llu/%llu, address@hidden
depth=%u\n",
@@ -2963,28 +3029,34 @@ mark_download_progress (struct DownloadEntry *de,
(unsigned long long) block_size,
(unsigned long long) offset,
depth);
-
- if (NULL != de->sr->tab)
+ deep = de;
+ while (NULL != deep->pde)
+ deep = deep->pde;
+ tab = NULL;
+ if ( (NULL != deep->sr) &&
+ (NULL != (tab = deep->sr->tab)) )
{
path = gtk_tree_row_reference_get_path (de->sr->rr);
- GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (de->sr->tab->ts),
- &iter, path));
+ GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (tab->ts),
+ &iter,
+ path));
gtk_tree_path_free (path);
/* FIXME-DESIGN: should we replace the 'availability' with
'progress' once the download has started and re-use the
space in the display? Probably yes, at least once we have
a custom CellRenderer... */
- gtk_tree_store_set (de->sr->tab->ts, &iter,
+ gtk_tree_store_set (tab->ts,
+ &iter,
SEARCH_TAB_MC_PERCENT_PROGRESS, (guint) ((size > 0) ?
(100 * completed / size) : 100),
- SEARCH_TAB_MC_PERCENT_AVAILABILITY, (guint) ((size >
0) ? (100 * completed / size) : 100),
SEARCH_TAB_MC_UNKNOWN_AVAILABILITY, (completed ? -1 :
0),
SEARCH_TAB_MC_COMPLETED, completed,
-1);
}
- get_download_list_entry (de, &diter);
- gtk_tree_store_set (downloads_treestore, &diter,
+ get_download_list_entry (de,
+ &diter);
+ gtk_tree_store_set (downloads_treestore,
+ &diter,
SEARCH_TAB_MC_PERCENT_PROGRESS, (guint) ((size > 0) ?
(100 * completed / size) : 100),
- SEARCH_TAB_MC_PERCENT_AVAILABILITY, (guint) ((size > 0)
? (100 * completed / size) : 100),
SEARCH_TAB_MC_UNKNOWN_AVAILABILITY, (completed ? -1 : 0),
SEARCH_TAB_MC_COMPLETED, completed,
-1);
@@ -2998,21 +3070,26 @@ mark_download_progress (struct DownloadEntry *de,
/* got a data block of a directory, list its contents */
struct AddDirectoryEntryContext ade;
- ade.tab = de->sr->tab;
+ ade.tab = tab;
ade.prr = de->sr->rr;
ade.check_duplicates = GNUNET_NO;
ade.anonymity = de->anonymity;
if (GNUNET_SYSERR ==
- GNUNET_FS_directory_list_contents ((size_t) block_size, block_data,
- offset, &add_directory_entry,
&ade))
+ GNUNET_FS_directory_list_contents ((size_t) block_size,
+ block_data,
+ offset,
+ &add_directory_entry,
+ &ade))
{
/* Mime type was wrong, this is not a directory, update model! */
de->is_directory = GNUNET_SYSERR;
- if (NULL != de->sr->tab)
- gtk_tree_store_set (de->sr->tab->ts, &iter,
+ if (NULL != tab)
+ gtk_tree_store_set (tab->ts,
+ &iter,
SEARCH_TAB_MC_MIMETYPE, "",
-1);
- gtk_tree_store_set (downloads_treestore, &diter,
+ gtk_tree_store_set (downloads_treestore,
+ &diter,
SEARCH_TAB_MC_MIMETYPE, "",
-1);
}
@@ -3028,11 +3105,13 @@ mark_download_progress (struct DownloadEntry *de,
/* download was for a directory (and we have a temp file for scanning);
add contents of the directory to the view */
- ade.tab = de->sr->tab;
+ ade.tab = tab;
ade.prr = de->sr->rr;
ade.check_duplicates = GNUNET_YES;
if (GNUNET_OK !=
- GNUNET_FS_GTK_mmap_and_scan (filename, &add_directory_entry, &ade))
+ GNUNET_FS_GTK_mmap_and_scan (filename,
+ &add_directory_entry,
+ &ade))
de->is_directory = GNUNET_NO;
}
}
@@ -3052,17 +3131,27 @@ mark_download_error (struct DownloadEntry *de,
{
GtkTreeIter iter;
GtkTreePath *path;
+ struct DownloadEntry *deep;
+ struct SearchTab *tab;
change_download_color (de, "red");
de->is_done = GNUNET_YES;
if (NULL == animation_error)
animation_error = load_animation ("error");
- if (NULL != de->sr->tab)
+ deep = de;
+ while (NULL != deep->pde)
+ deep = deep->pde;
+ tab = NULL;
+ if ( (NULL != deep->sr) &&
+ (NULL != (tab = deep->sr->tab)) )
{
path = gtk_tree_row_reference_get_path (de->sr->rr);
- GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (de->sr->tab->ts),
&iter, path));
+ GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (tab->ts),
+ &iter,
+ path));
gtk_tree_path_free (path);
- gtk_tree_store_set (de->sr->tab->ts, &iter,
+ gtk_tree_store_set (tab->ts,
+ &iter,
SEARCH_TAB_MC_PERCENT_PROGRESS, (guint) 0,
SEARCH_TAB_MC_URI_AS_STRING, emsg,
SEARCH_TAB_MC_STATUS_ICON,
GNUNET_GTK_animation_context_get_pixbuf (animation_error),
@@ -3085,28 +3174,41 @@ mark_download_error (struct DownloadEntry *de,
* @param size overall size of the file
*/
static void
-mark_download_completed (struct DownloadEntry *de, uint64_t size)
+mark_download_completed (struct DownloadEntry *de,
+ uint64_t size)
{
GtkTreeIter iter;
GtkTreePath *path;
+ struct DownloadEntry *deep;
+ struct SearchTab *tab;
de->is_done = GNUNET_YES;
change_download_color (de, "green");
- if (NULL != de->sr->tab)
+
+ deep = de;
+ while (NULL != deep->pde)
+ deep = deep->pde;
+ tab = NULL;
+ if ( (NULL != deep->sr) &&
+ (NULL != (tab = deep->sr->tab)) )
{
path = gtk_tree_row_reference_get_path (de->sr->rr);
- GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (de->sr->tab->ts),
- &iter, path));
+ GNUNET_assert (gtk_tree_model_get_iter (GTK_TREE_MODEL (tab->ts),
+ &iter,
+ path));
gtk_tree_path_free (path);
- gtk_tree_store_set (de->sr->tab->ts, &iter,
+ gtk_tree_store_set (tab->ts,
+ &iter,
SEARCH_TAB_MC_PERCENT_PROGRESS, (guint) 100,
SEARCH_TAB_MC_PERCENT_AVAILABILITY, (guint) 100,
SEARCH_TAB_MC_UNKNOWN_AVAILABILITY, -1,
SEARCH_TAB_MC_STATUS_ICON,
GNUNET_GTK_animation_context_get_pixbuf (animation_downloaded),
-1);
}
- get_download_list_entry (de, &iter);
- gtk_tree_store_set (downloads_treestore, &iter,
+ get_download_list_entry (de,
+ &iter);
+ gtk_tree_store_set (downloads_treestore,
+ &iter,
SEARCH_TAB_MC_PERCENT_PROGRESS, (guint) 100,
SEARCH_TAB_MC_PERCENT_AVAILABILITY, (guint) 100,
SEARCH_TAB_MC_UNKNOWN_AVAILABILITY, -1,
@@ -3145,6 +3247,7 @@ setup_download (struct DownloadEntry *de,
GtkTreeIter iter;
GtkTreePath *path;
GtkTreeModel *tm;
+ struct DownloadEntry *deep;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Setting up download, initially DE=%p, PDE=%p for %p & %p into
%llu/%llu `%s'\n",
@@ -3182,9 +3285,12 @@ setup_download (struct DownloadEntry *de,
GNUNET_assert (sr == de->sr);
}
}
+ deep = de;
+ while (NULL != deep->pde)
+ deep = deep->pde;
if ( (NULL == de->sr) &&
(NULL != pde) &&
- (NULL != pde->sr->tab) )
+ (NULL != deep->sr->tab) )
{
/* child download, find appropriate search result from parent! */
GtkTreePath *path;
@@ -3193,7 +3299,7 @@ setup_download (struct DownloadEntry *de,
GtkTreeIter child;
struct GNUNET_FS_Uri *uri;
- tm = GTK_TREE_MODEL (pde->sr->tab->ts);
+ tm = GTK_TREE_MODEL (deep->sr->tab->ts);
path = gtk_tree_row_reference_get_path (pde->sr->rr);
if ( (! gtk_tree_model_get_iter (tm, &iter, path)) ||
(! gtk_tree_model_iter_children (tm, &child, &iter)) )
@@ -3278,7 +3384,6 @@ setup_download (struct DownloadEntry *de,
SEARCH_TAB_MC_PERCENT_PROGRESS, (guint) ((size > 0) ?
(100 * completed / size) : 100),
SEARCH_TAB_MC_FILENAME, filename,
SEARCH_TAB_MC_STATUS_COLOUR, "blue",
- SEARCH_TAB_MC_PERCENT_AVAILABILITY, 0,
SEARCH_TAB_MC_UNKNOWN_AVAILABILITY, -1,
SEARCH_TAB_MC_SEARCH_RESULT, de->sr,
SEARCH_TAB_MC_COMPLETED, (guint64) completed,
@@ -3293,7 +3398,6 @@ setup_download (struct DownloadEntry *de,
SEARCH_TAB_MC_FILENAME, filename,
SEARCH_TAB_MC_STATUS_COLOUR, "blue",
SEARCH_TAB_MC_SEARCH_RESULT, de->sr,
- SEARCH_TAB_MC_PERCENT_AVAILABILITY, 0,
SEARCH_TAB_MC_UNKNOWN_AVAILABILITY, -1,
SEARCH_TAB_MC_COMPLETED, (guint64) completed,
SEARCH_TAB_MC_DOWNLOADED_FILENAME, de->filename,
@@ -3490,7 +3594,8 @@ handle_publish_stop (struct PublishEntry *pe)
GNUNET_break (0);
return;
}
- (void) gtk_tree_store_remove (pe->tab->ts, &iter);
+ (void) gtk_tree_store_remove (pe->tab->ts,
+ &iter);
gtk_tree_path_free (path);
gtk_tree_row_reference_free (pe->rr);
if (NULL != pe->uri)
@@ -3904,6 +4009,9 @@ GNUNET_GTK_fs_event_handler (void *cls,
{
void *ret;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Got FS event %d\n",
+ info->status);
GNUNET_FS_GTK_set_fs_handle (info->fsh);
switch (info->status)
{
diff --git a/src/fs/gnunet-fs-gtk_event-handler.h
b/src/fs/gnunet-fs-gtk_event-handler.h
index fd7f03a2..749ae174 100644
--- a/src/fs/gnunet-fs-gtk_event-handler.h
+++ b/src/fs/gnunet-fs-gtk_event-handler.h
@@ -169,7 +169,7 @@ struct DownloadEntry
int is_recursive;
/**
- * Is this a directory? (GNUNET_SYSERR is used for "maybe"!)
+ * Is this a directory? (#GNUNET_SYSERR is used for "maybe"!)
*/
int is_directory;
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [gnunet-gtk] branch master updated: fix crash due to incorrect handling of lost parent event for child-downloads (where the lost parent affected a (transitive) parent download and not the download directly,
gnunet <=