From a67c49eacfcdfc65aadd457df9c63232eb806624 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 18 Mar 2014 16:02:21 +0000 Subject: Fix gtk web page searching --- gtk/scaffolding.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'gtk/scaffolding.c') diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c index ffe6a221c..51d395102 100644 --- a/gtk/scaffolding.c +++ b/gtk/scaffolding.c @@ -1385,8 +1385,8 @@ MULTIHANDLER(reload) /* clear potential search effects */ browser_window_search_clear(bw); - nsgtk_search_set_forward_state(true, bw); - nsgtk_search_set_back_state(true, bw); + nsgtk_search_set_forward_state(true, g->top_level); + nsgtk_search_set_back_state(true, g->top_level); browser_window_reload(bw, true); @@ -1404,8 +1404,8 @@ MULTIHANDLER(back) /* clear potential search effects */ browser_window_search_clear(bw); - nsgtk_search_set_forward_state(true, bw); - nsgtk_search_set_back_state(true, bw); + nsgtk_search_set_forward_state(true, g->top_level); + nsgtk_search_set_back_state(true, g->top_level); browser_window_history_back(bw, false); nsgtk_window_update_back_forward(g); @@ -1424,8 +1424,8 @@ MULTIHANDLER(forward) /* clear potential search effects */ browser_window_search_clear(bw); - nsgtk_search_set_forward_state(true, bw); - nsgtk_search_set_back_state(true, bw); + nsgtk_search_set_forward_state(true, g->top_level); + nsgtk_search_set_back_state(true, g->top_level); browser_window_history_forward(bw, false); nsgtk_window_update_back_forward(g); @@ -2392,14 +2392,16 @@ void nsgtk_scaffolding_set_websearch(nsgtk_scaffolding *g, const char *content) void nsgtk_scaffolding_toggle_search_bar_visibility(nsgtk_scaffolding *g) { gboolean vis; - struct browser_window *bw = - nsgtk_get_browser_window(g->top_level); + struct browser_window *bw = nsgtk_get_browser_window(g->top_level); + g_object_get(G_OBJECT(g->search->bar), "visible", &vis, NULL); if (vis) { - if (bw != NULL) + if (bw != NULL) { browser_window_search_clear(bw); - nsgtk_search_set_forward_state(true, bw); - nsgtk_search_set_back_state(true, bw); + } + nsgtk_search_set_forward_state(true, g->top_level); + nsgtk_search_set_back_state(true, g->top_level); + gtk_widget_hide(GTK_WIDGET(g->search->bar)); } else { gtk_widget_show(GTK_WIDGET(g->search->bar)); @@ -2436,8 +2438,8 @@ void nsgtk_scaffolding_set_top_level(struct gui_window *gw) /* clear effects of potential searches */ browser_window_search_clear(bw); - nsgtk_search_set_forward_state(true, bw); - nsgtk_search_set_back_state(true, bw); + nsgtk_search_set_forward_state(true, gw); + nsgtk_search_set_back_state(true, gw); nsgtk_scaffolding_set_icon(gw); -- cgit v1.2.3