gnunet-svn
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]