gnome_popup_menu_new() leak?
- From: Peter Zelezny <zed linux com>
- To: gnome-devel-list gnome org
- Subject: gnome_popup_menu_new() leak?
- Date: Mon, 25 Jun 2001 22:50:05 +1000
Hi All,
Could someone tell me if there are any known bugs in gnome_popup_menu_new?
It seems to be leaking quiet badly. I've attached a small test program,
compile with:
gcc ttmenu.c `gnome-config gnomeui --libs --cflags` -o ttmenu
Leaving the program running for about 1 minute will cause RSS to rise to
10meg+ and increase X's size by another 10meg.
Is it a gnome-libs bug or am I doing something wrong? My guess is that it's
leaking the stock pixmaps.
--
Peter Zelezny. <zed linux com>
#include <gnome.h>
GtkWidget *menu = NULL;
static GnomeUIInfo gnome_menu[] = {
{
GNOME_APP_UI_ITEM,
"Label1", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOOK_RED,
0, 0, 0},
{
GNOME_APP_UI_ITEM,
"Label2", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOOK_GREEN,
0, 0, 0},
{
GNOME_APP_UI_ITEM,
"Label3", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOOK_BLUE,
0, 0, 0},
{
GNOME_APP_UI_ITEM,
"Label4", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_UP,
0, 0, 0},
{
GNOME_APP_UI_ITEM,
"Label5", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_DOWN,
0, 0, 0},
{
GNOME_APP_UI_ITEM,
"Label4", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FORWARD,
0, 0, 0},
{
GNOME_APP_UI_ITEM,
"Label5", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BACK,
0, 0, 0},
GNOMEUIINFO_SEPARATOR
};
static GnomeUIInfo sub2[] = {
{
GNOME_APP_UI_ITEM,
"Label1", 0,
0, 0, 0,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_STOP,
0, 0, 0},
};
static GnomeUIInfo mainmenu[] = {
GNOMEUIINFO_SUBTREE ("s_ub1", gnome_menu),
GNOMEUIINFO_SUBTREE ("_sub2", sub2),
GNOMEUIINFO_END
};
int doit (gpointer unused)
{
if (menu)
{
gtk_widget_destroy (menu);
menu = NULL;
} else
{
menu = gnome_popup_menu_new (mainmenu);
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 0, 0);
}
return 1;
}
int main(int argc, char **argv)
{
gnome_init (argv[0], "0.1", argc, argv);
gtk_timeout_add (25, doit, 0);
gtk_main ();
return 0;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]