summaryrefslogtreecommitdiff
path: root/frontends/gtk/menu.h
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2019-10-10 18:04:32 +0100
committerVincent Sanders <vince@kyllikki.org>2019-10-10 18:04:32 +0100
commit8e986ae214fcf373d9d459b72b643ae62ffa054a (patch)
treebd7c413bad40f46ab772a20dc5fb254b1a007fa0 /frontends/gtk/menu.h
parentfed47dc35b2d6022e894cc4d387c515b0b391fd6 (diff)
downloadnetsurf-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.h55
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