From 1edf8f28480fcb780dc6504022c65b6cc6c019cf Mon Sep 17 00:00:00 2001 From: Chris Young Date: Wed, 8 May 2019 00:30:51 +0100 Subject: set find window function --- frontends/amiga/gui.c | 10 ++++++++++ frontends/amiga/gui.h | 5 +++++ frontends/amiga/search.c | 8 ++++---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c index a2cee1036..e9ceb1a6e 100644 --- a/frontends/amiga/gui.c +++ b/frontends/amiga/gui.c @@ -350,6 +350,16 @@ void ami_gui_set_history_window(struct gui_window *gw, struct ami_history_local_ gw->hw = hw; } +void ami_gui_set_find_window(struct gui_window *gw, struct find_window *fw) +{ + /* This needs to be in gui_window_2 as it is shared amongst tabs (I think), + * it just happens that the find code only knows of the gui_window + */ + assert(gw != NULL); + assert(gw->shared != NULL); + gw->shared->searchwin = fw; +} + bool ami_gui_get_throbbing(struct gui_window *gw) { assert(gw != NULL); diff --git a/frontends/amiga/gui.h b/frontends/amiga/gui.h index 50a340e7f..e16390147 100644 --- a/frontends/amiga/gui.h +++ b/frontends/amiga/gui.h @@ -307,6 +307,11 @@ struct ami_history_local_window *ami_gui_get_history_window(struct gui_window *g */ void ami_gui_set_history_window(struct gui_window *gw, struct ami_history_local_window *hw); +/** + * Set search window in gui_window + */ +void ami_gui_set_find_window(struct gui_window *gw, struct find_window *fw); + /** * Get throbbing status from gui_window */ diff --git a/frontends/amiga/search.c b/frontends/amiga/search.c index b210fd484..aad8e4c2a 100755 --- a/frontends/amiga/search.c +++ b/frontends/amiga/search.c @@ -144,9 +144,9 @@ void ami_search_open(struct gui_window *gwin) if(fwin) { browser_window_search_clear(ami_gui_get_browser_window(fwin->gwin)); - ami_gui_get_gui_window_2(fwin->gwin)->searchwin = NULL; + ami_gui_set_find_window(fwin->gwin, NULL); fwin->gwin = gwin; - ami_gui_get_gui_window_2(fwin->gwin)->searchwin = fwin; + ami_gui_set_find_window(fwin->gwin, fwin); WindowToFront(fwin->win); ActivateWindow(fwin->win); return; @@ -220,7 +220,7 @@ void ami_search_open(struct gui_window *gwin) fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_S_MAIN]); fwin->gwin = gwin; ami_gui_win_list_add(fwin, AMINS_FINDWINDOW, &ami_search_table); - ami_gui_get_gui_window_2(fwin->gwin)->searchwin = fwin; + ami_gui_set_find_window(fwin->gwin, fwin); ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_S_MAIN], fwin->win, NULL, (ULONG)fwin->objects[GID_S_SEARCHSTRING]); @@ -229,7 +229,7 @@ void ami_search_open(struct gui_window *gwin) void ami_search_close(void) { browser_window_search_clear(ami_gui_get_browser_window(fwin->gwin)); - ami_gui_get_gui_window_2(fwin->gwin)->searchwin = NULL; + ami_gui_set_find_window(fwin->gwin, NULL); DisposeObject(fwin->objects[OID_S_MAIN]); /* Free local charset version of messages */ -- cgit v1.2.3