Предотвратить распространение GSignal для дальнейших зарегистрированных GCallbacks - PullRequest
0 голосов
/ 04 августа 2010

Как предотвратить вызов дополнительных обработчиков сигналов из первого обратного вызова обработчика сигналов в GSignal?

Например, я регистрирую три функции - func1, func2 и func3 для одного и того же сигнала «mysignal». Если func1 вызывается первым, как я могу предотвратить вызов func2 и func3 из func1?

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

1 Ответ

1 голос
/ 04 августа 2010

g_signal_stop_emission_by_name () и g_signal_stop_emission () решают эту проблему.

Вызов g_signal_stop_emission_by_name () из func1 предотвращает дальнейшее распространение на func2 и func3.

...