Bonjour à tous,

J'ai une question à laquelle je ne trouve pas encore de réponse. Je me permets de la poser ici.

J'ai une fonction callback qui capture un signal du type expose_event, une fois que la main loop est lancée par gtk_main(). Et je précise que gtk_main() n'est invoqué qu'une seule fois dans l'ensemble de mon code.

Cette fonction callback fait plusieurs calculs qui peuvent aboutir à arrêter la main loop dans certaines situations.

J'ai donc quelque part dans cette fonction callback des lignes de code du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if (...)    {gtk_main_quit();}
Il se trouve que, dans pas mal de cas, les calculs continuent en séquence tout de même. Comment est-ce possible ?

Je peux trouve rajouter dans les parenthèses ci-dessus une instruction comme :
Et dans ce cas mon code s'arrête évidement (ce qui prouve que je passe bien par ce bout de code conditionnel).

Il reste que je ne comprends pas pourquoi les calculs continuent en séquence si la boucle principale de GTK est terminée.

Quelqu'un aurait-il une explication ?

Merci pour toute information sur ce point.

Eric.