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;
私の問題は、関数でを呼び出していることmalloc
ですcreate_dialog
。free
しかし、GUIはイベント駆動型であるため、どこから呼び出すことができるかわかりません。私は考えましdestroy-event
たが、これを行う正しい方法を知りたいです。何か案は.. ?