summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2011-09-12 22:38:51 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2011-09-12 22:38:51 +0000
commit049a3eb80a38fee1d0764b8f2dacab8cb125dec6 (patch)
treef1fd482102d471a52855939f6a54a6cce37f58fc
parent6a5b10c685b07199afe856f7c17ebc0e8846ddd5 (diff)
downloadnetsurf-049a3eb80a38fee1d0764b8f2dacab8cb125dec6.tar.gz
netsurf-049a3eb80a38fee1d0764b8f2dacab8cb125dec6.tar.bz2
Fix search icon disappearing when layout size bar dragged
svn path=/trunk/netsurf/; revision=12790
-rwxr-xr-xamiga/gui.c20
-rwxr-xr-xamiga/gui.h1
2 files changed, 21 insertions, 0 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index e4b7c156f..7d8521c52 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -149,6 +149,7 @@ BOOL locked_screen = FALSE;
BOOL screen_closed = FALSE;
struct MsgPort *applibport = NULL;
ULONG applibsig = 0;
+BOOL refresh_search_ico = FALSE;
const char tree_directory_icon_name[] = "def_drawer.info";
const char tree_content_icon_name[] = "def_project.info";
@@ -169,6 +170,8 @@ ULONG ami_get_border_gadget_balance(struct gui_window_2 *gwin, ULONG *size1, ULO
void ami_try_quit(void);
Object *ami_gui_splash_open(void);
void ami_gui_splash_close(Object *win_obj);
+static uint32 ami_set_search_ico_render_hook(struct Hook *hook, APTR space,
+ struct gpRender *msg);
STRPTR ami_locale_langs(void)
{
@@ -1682,6 +1685,12 @@ void ami_handle_msg(void)
}
}
} while(node = nnode);
+
+ if(refresh_search_ico)
+ {
+ gui_window_set_search_ico(NULL);
+ refresh_search_ico = FALSE;
+ }
}
void ami_gui_appicon_remove(struct gui_window_2 *gwin)
@@ -2419,6 +2428,9 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
gwin->shared->scrollerhook.h_Entry = (void *)ami_scroller_hook;
gwin->shared->scrollerhook.h_Data = gwin->shared;
+ gwin->shared->search_ico_hook.h_Entry = (void *)ami_set_search_ico_render_hook;
+ gwin->shared->search_ico_hook.h_Data = gwin->shared;
+
if(!option_kiosk_mode)
{
@@ -2671,6 +2683,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
SPACE_MinWidth, 16,
SPACE_MinHeight, 16,
SPACE_Transparent, TRUE,
+ SPACE_RenderHook, &gwin->shared->search_ico_hook,
SpaceEnd,
CHILD_WeightedWidth,0,
CHILD_WeightedHeight,0,
@@ -3712,6 +3725,13 @@ void gui_window_set_search_ico(hlcache_handle *ico)
if(bm && free_bm) bitmap_destroy(nsbm);
}
+static uint32 ami_set_search_ico_render_hook(struct Hook *hook, APTR space,
+ struct gpRender *msg)
+{
+ refresh_search_ico = TRUE;
+ return 0;
+}
+
void gui_window_place_caret(struct gui_window *g, int x, int y, int height)
{
struct IBox *bbox;
diff --git a/amiga/gui.h b/amiga/gui.h
index f39ab1ae1..938954fc9 100755
--- a/amiga/gui.h
+++ b/amiga/gui.h
@@ -109,6 +109,7 @@ struct gui_window_2 {
BOOL rmbtrapped;
struct AppIcon *appicon; /* iconify appicon */
struct DiskObject *dobj; /* iconify appicon */
+ struct Hook search_ico_hook;
};
struct gui_window