Не то. у меня операция, которая занимает до нескольких секунд, она состоит из нескольких этапов, хотел о них пользователю докладывать через изменения текста лабелки. а оно виснет и показывает только последнее, когда уже все закончится
В винде всегда раздражали диалоги обработки больших деревьев с файлами по 0.5кб. Давно бы уже скопировалось/нашлось все, но программа старательно выводит каждое сраное имя из 15000 на экран, и это занимает больше времени, чем сама операция. Как будто юзер успеет их все прочитать.
Вообще нет: я сознательно гиперболизировал задачу чтоб посмотреть что теоритически будет при самых больших трудностях на самых медленных файлах. То что ты предлагаешь — анти-KISS-ионно. Тут задачка проходная, проще фриз оставить, по крайней мере пока. Есть работа поважнее на данном этапе.
По канону нужно длинную операцию разбивать на итерации и сувать в главный цикл, чтобы они обрабатывались поочередно с прорисовкой. Ну там какое-нить g_idle_add_full(G_PRIORITY_HIGH_IDLE, iteration, object, nil), можно еще докинуть g_timeout_add_full, чтобы вдруг не повисло.
Вложенный главный цикл - зло, так можно делать только для отладки.