diff options
Diffstat (limited to 'src/plugins/fs/search.c')
-rw-r--r-- | src/plugins/fs/search.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/fs/search.c b/src/plugins/fs/search.c index 8b2b5302..d8521179 100644 --- a/src/plugins/fs/search.c +++ b/src/plugins/fs/search.c | |||
@@ -636,6 +636,7 @@ void on_fssearchbutton_clicked_fs(gpointer dummy2, | |||
636 | } | 636 | } |
637 | list = list->next; | 637 | list = list->next; |
638 | } | 638 | } |
639 | /* FIXME: deadlock! */ | ||
639 | FSUI_startSearch(ctx, | 640 | FSUI_startSearch(ctx, |
640 | getSpinButtonValue(getMainXML(), | 641 | getSpinButtonValue(getMainXML(), |
641 | "searchAnonymitySelectionSpinButton"), | 642 | "searchAnonymitySelectionSpinButton"), |
@@ -696,6 +697,7 @@ void on_closeSearchButton_clicked_fs(GtkWidget * searchPage, | |||
696 | void on_abortSearchButton_clicked_fs(GtkWidget * searchPage, | 697 | void on_abortSearchButton_clicked_fs(GtkWidget * searchPage, |
697 | GtkWidget * closeButton) { | 698 | GtkWidget * closeButton) { |
698 | SearchList * list; | 699 | SearchList * list; |
700 | struct FCBC fcbc; | ||
699 | 701 | ||
700 | list = search_head; | 702 | list = search_head; |
701 | while (list != NULL) { | 703 | while (list != NULL) { |
@@ -704,8 +706,11 @@ void on_abortSearchButton_clicked_fs(GtkWidget * searchPage, | |||
704 | list = list->next; | 706 | list = list->next; |
705 | } | 707 | } |
706 | GE_ASSERT(ectx, list != NULL); | 708 | GE_ASSERT(ectx, list != NULL); |
707 | FSUI_abortSearch(ctx, | 709 | |
708 | list->fsui_list); | 710 | fcbc.method = &FSUI_abortSearch; |
711 | fcbc.argument = list->fsui_list; | ||
712 | run_with_save_calls(&fsui_callback, | ||
713 | &fcbc); | ||
709 | } | 714 | } |
710 | 715 | ||
711 | static void stopSearch(GtkTreeModel * model, | 716 | static void stopSearch(GtkTreeModel * model, |