diff options
author | Vincent Sanders <vince@kyllikki.org> | 2019-10-10 18:04:32 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2019-10-10 18:04:32 +0100 |
commit | 8e986ae214fcf373d9d459b72b643ae62ffa054a (patch) | |
tree | bd7c413bad40f46ab772a20dc5fb254b1a007fa0 /frontends/gtk/menu.h | |
parent | fed47dc35b2d6022e894cc4d387c515b0b391fd6 (diff) | |
download | netsurf-8e986ae214fcf373d9d459b72b643ae62ffa054a.tar.gz netsurf-8e986ae214fcf373d9d459b72b643ae62ffa054a.tar.bz2 |
ensure menu resources are released
this ensures all the menu resources are freed when the containing
window receives the destroy signal. Previously these resources
were leaked.
Diffstat (limited to 'frontends/gtk/menu.h')
-rw-r--r-- | frontends/gtk/menu.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/frontends/gtk/menu.h b/frontends/gtk/menu.h index 822e463d2..a6f9ea456 100644 --- a/frontends/gtk/menu.h +++ b/frontends/gtk/menu.h @@ -210,27 +210,82 @@ struct nsgtk_link_menu { GtkWidget *copy_menuitem; }; + /** * Create main menubar menu. */ struct nsgtk_bar_submenu *nsgtk_menu_bar_create(GtkMenuShell *menubar, GtkAccelGroup *group); + /** * Generate burger menu. + * + * \param accelerator group to use with menu + * \return new menu structure or NULL on error */ struct nsgtk_burger_menu *nsgtk_burger_menu_create(GtkAccelGroup *group); + /** * Generate right click popup menu. * + * \param accelerator group to use with menu + * \return new menu structure or NULL on error */ struct nsgtk_popup_menu *nsgtk_popup_menu_create(GtkAccelGroup *group); + /** * Generate context sensitive link popup menu. * + * \param accelerator group to use with menu + * \return new menu structure or NULL on error */ struct nsgtk_link_menu *nsgtk_link_menu_create(GtkAccelGroup *group); +/** + * destroy bar menu + * + * destroys the gtk widgets associated with menu and frees all storage. + * + * \param menu menu to destroy + * \return NSERROR_OK and menu destroyed on success else error code + */ +nserror nsgtk_menu_bar_destroy(struct nsgtk_bar_submenu *menu); + + +/** + * destroy burger menu + * + * destroys the gtk widgets associated with menu and frees all storage. + * + * \param menu menu to destroy + * \return NSERROR_OK and menu destroyed on success else error code + */ +nserror nsgtk_burger_menu_destroy(struct nsgtk_burger_menu *menu); + + +/** + * destroy popup menu + * + * destroys the gtk widgets associated with menu and frees all storage. + * + * \param menu menu to destroy + * \return NSERROR_OK and menu destroyed on success else error code + */ +nserror nsgtk_popup_menu_destroy(struct nsgtk_popup_menu *menu); + + +/** + * destroy link menu + * + * destroys the gtk widgets associated with menu and frees all storage. + * + * \param menu menu to destroy + * \return NSERROR_OK and menu destroyed on success else error code + */ +nserror nsgtk_link_menu_destroy(struct nsgtk_link_menu *menu); + + #endif |