【发布时间】:2012-06-15 19:29:30
【问题描述】:
我有一个用 C/gtk+(v 2.x) 编写的 GUI 应用程序。如果我单击主窗口的菜单项,将调用以下函数并显示一个对话框。
dialog_ui * create_dialog ()
{
dlg = malloc (sizeof(dialog_ui));
dlg->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
...
gtk_widget_show_all (dlg->window);
return dlg;
}
这是dialog_ui 结构
typedef struct _dialog_ui
{
GtkWidget * window;
...
} dialog_ui;
这是头文件中的dlg变量。
dialog_ui * dlg;
我的问题是,我在 create_dialog 函数中调用了 malloc。但我不知道从哪里可以调用free,因为 GUI 是事件驱动的。我想过destroy-event,但我想知道正确的方法。有什么想法吗?
【问题讨论】:
标签: c user-interface gtk malloc