summaryrefslogtreecommitdiff
path: root/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'frontends')
-rw-r--r--frontends/amiga/gui.c10
-rw-r--r--frontends/amiga/gui.h5
-rwxr-xr-xfrontends/amiga/search.c8
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
@@ -308,6 +308,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
*/
bool ami_gui_get_throbbing(struct gui_window *gw);
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 */