diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-10-23 22:17:36 +0100 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-10-23 22:17:36 +0100 |
commit | 10bc47a709a569d249c06de59b7f37d5cf71b30e (patch) | |
tree | 8d4867905c9fc0f9bd0fa8e4ade6025eef2b53af /framebuffer/gui.c | |
parent | 4fa77f968671f75038676ee0a76348c6a969c88f (diff) | |
download | netsurf-10bc47a709a569d249c06de59b7f37d5cf71b30e.tar.gz netsurf-10bc47a709a569d249c06de59b7f37d5cf71b30e.tar.bz2 |
Register destruction function for browser widget.
Diffstat (limited to 'framebuffer/gui.c')
-rw-r--r-- | framebuffer/gui.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/framebuffer/gui.c b/framebuffer/gui.c index a941832a4..b4bb3ef43 100644 --- a/framebuffer/gui.c +++ b/framebuffer/gui.c @@ -410,6 +410,22 @@ fb_browser_window_redraw(fbtk_widget_t *widget, fbtk_callback_info *cbi) return 0; } +static int fb_browser_window_destroy(fbtk_widget_t *widget, + fbtk_callback_info *cbi) +{ + struct browser_widget_s *browser_widget; + + if (widget == NULL) { + return 0; + } + + /* Free private data */ + browser_widget = fbtk_get_userpw(widget); + free(browser_widget); + + return 0; +} + static const char *fename; static int febpp; @@ -1473,6 +1489,7 @@ create_browser_widget(struct gui_window *gw, int toolbar_height, int furniture_w browser_widget); fbtk_set_handler(gw->browser, FBTK_CBT_REDRAW, fb_browser_window_redraw, gw); + fbtk_set_handler(gw->browser, FBTK_CBT_DESTROY, fb_browser_window_destroy, gw); fbtk_set_handler(gw->browser, FBTK_CBT_INPUT, fb_browser_window_input, gw); fbtk_set_handler(gw->browser, FBTK_CBT_CLICK, fb_browser_window_click, gw); fbtk_set_handler(gw->browser, FBTK_CBT_STRIP_FOCUS, fb_browser_window_strip_focus, gw); @@ -1612,8 +1629,6 @@ gui_window_destroy(struct gui_window *gw) fbtk_destroy_widget(gw->window); free(gw); - - } void |