Как ждать, пока объект GTK + будет уничтожен, прежде чем продолжить?

У меня есть программа, в которой я открываю диалоговое окно файла, беру имя файла и выполняю некоторые ресурсоемкие операции.

Моя проблема в том, что во время выполнения операции, даже если для нее была вызвана функция gtk_widget_destroy (), диалоговое окно файла остается открытым.

Это проблема, потому что мне нужно будет реализовать панель загрузки в ближайшем будущем, и я не хочу, чтобы диалог болтался. мой код выглядит так:

if(gtk_dialog_run(GTK_DIALOG(fileSelect)) == GTK_RESPONSE_OK){
filename = string(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fileSelect)));
gtk_widget_destroy(fileSelect);
}else{
gtk_widget_destroy(fileSelect);
return;
}

resourceIntensiveFunction();

Итак, как я могу дождаться выхода из диалогового окна файла, прежде чем продолжить?

Кстати я использую GTK 2.

0

Решение

Итак, я узнал, как это сделать, это относительно просто.

while(gtk_events_pending()){
gtk_main_iteration_do(true);
}

Надеюсь, это помогло кому-то.

0

Другие решения


По вопросам рекламы [email protected]