aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-06-17 06:50:45 +0000
committerChristian Grothoff <christian@grothoff.org>2012-06-17 06:50:45 +0000
commit44d27e21d0a6aeb28169dfad686c65c3ee730e0b (patch)
tree1ccecb09e0ca52fa866171a1870b4d14dd2b8ab7
parent406fdbcea181a64fc0e00fabd72313b58bc27569 (diff)
downloadgnunet-gtk-44d27e21d0a6aeb28169dfad686c65c3ee730e0b.tar.gz
gnunet-gtk-44d27e21d0a6aeb28169dfad686c65c3ee730e0b.zip
-fixing shutdown issues from #2217
-rw-r--r--src/fs/gnunet-fs-gtk.c3
-rw-r--r--src/fs/gnunet-fs-gtk_event-handler.c16
-rw-r--r--src/fs/gnunet-fs-gtk_event-handler.h7
3 files changed, 23 insertions, 3 deletions
diff --git a/src/fs/gnunet-fs-gtk.c b/src/fs/gnunet-fs-gtk.c
index b34f0f03..165492fd 100644
--- a/src/fs/gnunet-fs-gtk.c
+++ b/src/fs/gnunet-fs-gtk.c
@@ -199,13 +199,14 @@ GNUNET_FS_GTK_main_window_size_request (GtkWidget *main_window,
199 */ 199 */
200static void 200static void
201shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 201shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
202{ 202{
203 GNUNET_GTK_main_loop_quit (ml); 203 GNUNET_GTK_main_loop_quit (ml);
204 if (fs != NULL) 204 if (fs != NULL)
205 { 205 {
206 GNUNET_FS_stop (fs); 206 GNUNET_FS_stop (fs);
207 fs = NULL; 207 fs = NULL;
208 } 208 }
209 GNUNET_FS_GTK_close_uri_tab_ ();
209} 210}
210 211
211 212
diff --git a/src/fs/gnunet-fs-gtk_event-handler.c b/src/fs/gnunet-fs-gtk_event-handler.c
index e77f7fd5..fb2d0056 100644
--- a/src/fs/gnunet-fs-gtk_event-handler.c
+++ b/src/fs/gnunet-fs-gtk_event-handler.c
@@ -1046,7 +1046,8 @@ close_search_tab (struct SearchTab *tab)
1046 if (NULL != tab->atv) 1046 if (NULL != tab->atv)
1047 GNUNET_GTK_animation_tree_view_unregister (tab->atv); 1047 GNUNET_GTK_animation_tree_view_unregister (tab->atv);
1048 GNUNET_free (tab); 1048 GNUNET_free (tab);
1049 if (NULL == search_tab_head) 1049 if ( (NULL == search_tab_head) &&
1050 (NULL == uri_tab) )
1050 { 1051 {
1051 GNUNET_GTK_animation_context_destroy (animation_downloading); 1052 GNUNET_GTK_animation_context_destroy (animation_downloading);
1052 animation_downloading = NULL; 1053 animation_downloading = NULL;
@@ -1058,12 +1059,22 @@ close_search_tab (struct SearchTab *tab)
1058 animation_searching_sources = NULL; 1059 animation_searching_sources = NULL;
1059 GNUNET_GTK_animation_context_destroy (animation_found_sources); 1060 GNUNET_GTK_animation_context_destroy (animation_found_sources);
1060 animation_found_sources = NULL; 1061 animation_found_sources = NULL;
1061
1062 } 1062 }
1063} 1063}
1064 1064
1065 1065
1066/** 1066/**
1067 * Close the 'uri_tab'.
1068 */
1069void
1070GNUNET_FS_GTK_close_uri_tab_ ()
1071{
1072 if (NULL != uri_tab)
1073 close_search_tab (uri_tab);
1074}
1075
1076
1077/**
1067 * Copy all of the children of 'src_iter' from the 'src_model' to 1078 * Copy all of the children of 'src_iter' from the 'src_model' to
1068 * become children of 'dst_iter' in the 'dst_model'. The models are 1079 * become children of 'dst_iter' in the 'dst_model'. The models are
1069 * both 'GNUNET_GTK_file_sharing_result_tree_store' models. 1080 * both 'GNUNET_GTK_file_sharing_result_tree_store' models.
@@ -2605,6 +2616,7 @@ setup_download (struct DownloadEntry *de, struct DownloadEntry *pde,
2605 SEARCH_TAB_MC_COMPLETED, (guint64) completed, 2616 SEARCH_TAB_MC_COMPLETED, (guint64) completed,
2606 SEARCH_TAB_MC_FILENAME, de->filename, 2617 SEARCH_TAB_MC_FILENAME, de->filename,
2607 SEARCH_TAB_MC_DOWNLOADED_ANONYMITY, de->anonymity, 2618 SEARCH_TAB_MC_DOWNLOADED_ANONYMITY, de->anonymity,
2619 SEARCH_TAB_MC_STATUS_ICON,
2608 GNUNET_GTK_animation_context_get_pixbuf (animation_download_stalled), 2620 GNUNET_GTK_animation_context_get_pixbuf (animation_download_stalled),
2609 -1); 2621 -1);
2610 return de; 2622 return de;
diff --git a/src/fs/gnunet-fs-gtk_event-handler.h b/src/fs/gnunet-fs-gtk_event-handler.h
index 8ec10a4a..472ae731 100644
--- a/src/fs/gnunet-fs-gtk_event-handler.h
+++ b/src/fs/gnunet-fs-gtk_event-handler.h
@@ -269,5 +269,12 @@ GNUNET_GTK_fs_event_handler (void *cls,
269 const struct GNUNET_FS_ProgressInfo *info); 269 const struct GNUNET_FS_ProgressInfo *info);
270 270
271 271
272/**
273 * Close the 'uri_tab'.
274 */
275void
276GNUNET_FS_GTK_close_uri_tab_ ();
277
278
272#endif 279#endif
273/* end of gnunet-fs-gtk-event_handler.h */ 280/* end of gnunet-fs-gtk-event_handler.h */