如何防止在GSignal中的第一个信号处理程序回调中调用更多的信号处理程序?
例如,我为相同的信号"mysignal“注册了三个函数-- func1、func2和func3。如果先调用func1,如何防止从func1调用func2和func3?
这不应该成为永久性的。它应该是运行时的。ie func1可以根据获取的入参来决定func2和func3是否可以获取回调。
发布于 2010-08-04 18:19:29
g_signal_stop_emission_by_name ()和g_signal_stop_emission ()解决了这个问题。
从func1调用g_signal_stop_emission_by_name()可防止进一步传播到func2和func3。
https://stackoverflow.com/questions/3404380
复制相似问题