[C++/GTKmm] Uśpienie przycisku

void on_click_costamwpetli()

{

	przycisk->set_sensitive(0);


	while(rób cos bardzo długo) {

		std::cout << tekst;

		sleep(1);

	}


        przycisk->set_sensitive(1);

}

Dlaczego przycisk dalej jest klikalny, zamiast uśpić się na czas trwania pętli? Kilkukrotne wciśniecie przycisku powoduje zwiechę programu.

GUI nie zdąży się zupdatować ponieważ zamrażasz główny wątek.

Gdyby ktoś w przyszłości miał podobny problem:

while (Gtk::Main::events_pending())

        Gtk::Main::iteration();

O dziwo u mnie pod gtkmm3 set_sensitive ma efekt natychmiastowo. Co nie zmienia faktu, że raczej nie chcesz wykonywać żadnych długotrwałych operacji w wątku GUI, bo wtedy GUI nie odpowiada.