gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r19680 - gnunet-gtk/src/fs


From: gnunet
Subject: [GNUnet-SVN] r19680 - gnunet-gtk/src/fs
Date: Sat, 4 Feb 2012 18:53:32 +0100

Author: grothoff
Date: 2012-02-04 18:53:32 +0100 (Sat, 04 Feb 2012)
New Revision: 19680

Modified:
   gnunet-gtk/src/fs/gnunet-fs-gtk_download-save-as.c
   gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.c
   gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.h
Log:
-fixing #2134, starting to clean up data structures a bit

Modified: gnunet-gtk/src/fs/gnunet-fs-gtk_download-save-as.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk_download-save-as.c  2012-02-03 23:44:23 UTC 
(rev 19679)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk_download-save-as.c  2012-02-04 17:53:32 UTC 
(rev 19680)
@@ -231,20 +231,20 @@
   de->uri = dc->uri;
   dc->uri = NULL;
   de->meta = dc->meta;
+  de->tab = dc->tab;
   dc->meta = NULL;
   if (NULL != dc->rr)
   {
     de->rr = gtk_tree_row_reference_copy (dc->rr);
-    de->ts = GTK_TREE_STORE (gtk_tree_row_reference_get_model (dc->rr));
     path = gtk_tree_row_reference_get_path (de->rr);
     if  ( (NULL != path) &&
-         (gtk_tree_model_get_iter (GTK_TREE_MODEL (de->ts), &iter, path)) )
+         (gtk_tree_model_get_iter (GTK_TREE_MODEL (de->tab->ts), &iter, path)) 
)
     {
       /* Store filename and anonymity as specified by the user.
        * These will be re-used when this is a directory, and the user
        * downloads its children.
        */
-      gtk_tree_store_set (de->ts, &iter, 15, dc->filename, 16, dc->anonymity, 
-1);
+      gtk_tree_store_set (de->tab->ts, &iter, 15, dc->filename, 16, 
dc->anonymity, -1);
     } 
     else
     {

Modified: gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.c     2012-02-03 23:44:23 UTC 
(rev 19679)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.c     2012-02-04 17:53:32 UTC 
(rev 19680)
@@ -1574,14 +1574,14 @@
              "Changing download DE=%p color to %s\n", 
              de, color);
   path = gtk_tree_row_reference_get_path (de->rr);
-  if (! gtk_tree_model_get_iter (GTK_TREE_MODEL (de->ts), &iter, path))
+  if (! gtk_tree_model_get_iter (GTK_TREE_MODEL (de->tab->ts), &iter, path))
   {
     GNUNET_break (0);
     gtk_tree_path_free (path);
     return;
   }
   gtk_tree_path_free (path);
-  gtk_tree_store_set (de->ts, &iter, 8, color, -1);
+  gtk_tree_store_set (de->tab->ts, &iter, 8, color, -1);
 }
 
 
@@ -1594,30 +1594,11 @@
 static void
 stop_download (struct DownloadEntry *de)
 {
-  GtkTreeIter iter;
-  GtkTreePath *path;
-  GtkTreeModel *tm;
-  struct SearchResult *search_result;
-
-  tm = gtk_tree_row_reference_get_model (de->rr);
-  path = gtk_tree_row_reference_get_path (de->rr);
-  if (! gtk_tree_model_get_iter (tm, &iter, path))
+  if (NULL != de->sr)
   {
-    gtk_tree_path_free (path);
-    GNUNET_break (0);
-    return;
+    GNUNET_assert (de->sr->download == de); 
+    de->sr->download = NULL;
   }
-  gtk_tree_path_free (path);
-  gtk_tree_model_get (tm, &iter, 9, &search_result, -1);
-  /* FIXME-BUG: 'search_result' can be NULL here, somehow some code fails to 
setup the record.. */
-  if (NULL == search_result)
-  {
-    /* FIXME-BUG: this prevents the crash for now, but does not solve the 
problem */
-    GNUNET_break (0);
-    return;
-  }
-  GNUNET_assert (search_result->download == de); 
-  search_result->download = NULL;
   change_download_color (de, "white");
   gtk_tree_row_reference_free (de->rr);
   GNUNET_FS_uri_destroy (de->uri);
@@ -1755,7 +1736,7 @@
              de, completed, size, block_size, offset, depth);
 
   path = gtk_tree_row_reference_get_path (de->rr);
-  if (! gtk_tree_model_get_iter (GTK_TREE_MODEL (de->ts), &iter, path))
+  if (! gtk_tree_model_get_iter (GTK_TREE_MODEL (de->tab->ts), &iter, path))
   {
     GNUNET_break (0);
     gtk_tree_path_free (path);
@@ -1766,7 +1747,7 @@
      '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->ts, &iter, 
+  gtk_tree_store_set (de->tab->ts, &iter, 
                      4, (guint) ((size >
                                   0) ? (100 * completed /
                                         size) : 100) /* progress */,
@@ -1793,7 +1774,7 @@
       GNUNET_break (GNUNET_OK ==
                    GNUNET_CONTAINER_meta_data_delete (de->meta,
                                                       
EXTRACTOR_METATYPE_MIMETYPE, NULL, 0));
-      gtk_tree_store_set (de->ts, &iter, 
+      gtk_tree_store_set (de->tab->ts, &iter, 
                          10, "" /* unknown mime type */, -1);
     }
   }
@@ -1939,7 +1920,6 @@
     gtk_tree_path_free (path);
     if (search_result->download != NULL)
     {
-      search_result->download->ts = GTK_TREE_STORE (dst_model);
       gtk_tree_row_reference_free (search_result->download->rr);
       search_result->download->rr =
        gtk_tree_row_reference_copy (search_result->rr);
@@ -1990,9 +1970,9 @@
   /* first, move the root of the respective 'de'-tree */
   rr_old = de->rr;
   tab = GNUNET_GTK_add_to_uri_tab (&iter, &de->sr, de->meta, de->uri);
+  de->tab = tab;
   de->sr->download = de;
-  de->ts = tab->ts;
-  model = GTK_TREE_MODEL (de->ts);
+  model = GTK_TREE_MODEL (de->tab->ts);
   path = gtk_tree_model_get_path (model, &iter);
   de->rr = gtk_tree_row_reference_new (model, path);
   gtk_tree_path_free (path);
@@ -2065,7 +2045,6 @@
     GNUNET_assert (sr->download == NULL);
     sr->download = de;
     de->rr = gtk_tree_row_reference_copy (sr->rr);
-    de->ts = sr->tab->ts;
     de->tab = sr->tab;
     srp = sr;
   }
@@ -2075,21 +2054,21 @@
        with the download so far; create a fresh entry for this
        download in the URI tab */
     de->tab = GNUNET_GTK_add_to_uri_tab (&iter, &srp, meta, uri);
-    de->ts = de->tab->ts;
-    path = gtk_tree_model_get_path (GTK_TREE_MODEL (de->ts), &iter);
-    de->rr = gtk_tree_row_reference_new (GTK_TREE_MODEL (de->ts), path);
+    path = gtk_tree_model_get_path (GTK_TREE_MODEL (de->tab->ts), &iter);
+    de->rr = gtk_tree_row_reference_new (GTK_TREE_MODEL (de->tab->ts), path);
     gtk_tree_path_free (path);
     srp->download = de;
   }
+  GNUNET_assert (NULL != de->tab);
   path = gtk_tree_row_reference_get_path (de->rr);
-  if (! gtk_tree_model_get_iter (GTK_TREE_MODEL (de->ts), &iter, path))
+  if (! gtk_tree_model_get_iter (GTK_TREE_MODEL (de->tab->ts), &iter, path))
   {
     GNUNET_break (0);
     gtk_tree_path_free (path);
     return de;
   }
   gtk_tree_path_free (path);
-  gtk_tree_store_set (de->ts, &iter, 
+  gtk_tree_store_set (de->tab->ts, &iter, 
                      4,   (guint) ((size >
                                 0) ? (100 * completed /
                                       size) : 100) /* progress */ ,

Modified: gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.h
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.h     2012-02-03 23:44:23 UTC 
(rev 19679)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk_event-handler.h     2012-02-04 17:53:32 UTC 
(rev 19680)
@@ -153,11 +153,6 @@
   GtkTreeRowReference *rr;
 
   /**
-   * Tree store where we are stored.
-   */
-  GtkTreeStore *ts;
-
-  /**
    * Tab where this download is currently on display.
    */
   struct SearchTab *tab;




reply via email to

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