Pregunta

Cómo prevenir futuros gestores de señales para ser llamado desde el primer controlador de señal de devolución de llamada en GSignal?

Por ejemplo, registro tres funciones - func1, FUNC2 y FUNC3 para la misma señal "mysignal". Si func1 se llama en primer lugar, ¿cómo puedo evitar func2 y func3 a ser llamado desde func1?

Esto no debe ser permanente. Debe ser el tiempo de ejecución. es decir func1 puede decidir si func2 y func3 pueden obtener la devolución de llamada basado en los parámetros de entrada que se obtiene.

¿Fue útil?

Solución

g_signal_stop_emission_by_name () y g_signal_stop_emission () resuelve este problema.

Llamando g_signal_stop_emission_by_name () desde func1 previene la propagación adicional a func2 y FUNC3.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top