Bonjour,

j'ai un problème avec QTimer, il me fait totalement planter mon programme lorsque je l'utilise conjointement avec une autre librairie (openCV).

j'ai déclaré dans ma classe (dérivée de QLabel avec un Q_OBJECT) un QTimer (m_timer)
ensuite dans le démarrage de mon appli, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
m_timer.start(100);
connect(&m_timer, SIGNAL(timeout()), this, SLOT(captureLoop()));
dans captureLoop() (public slots)
j'ai une fonction d'une autre librairie qui récupère une image
et appelle une autre méthode de ma classe qui détecte un visage sur l'image et retourne la position du visage. La détection s'effectue via une fonction de ma seconde librairie.

Sauf que dès qu'il arrive à la détection (la fonction de l'autre librairie en particulier : cvtColor), le programme me met un segmentation fault. Sans rentrer dans la fonction (mode debbugeur)

Si je désactive la détection, tout fonctionne avec le Timer de Qt.

Vous allez surement me dire : "ben le problème viens de la fonction de détection de ton autre librairie"

Eh bien non, car si je supprime le timer de Qt et que j'appelle ma méthode manuellement, tout fonctionne (mais pas de boucle possible).

J'ai l'impression que c'est le méta code crée par Qt pour les slots personnalisés qui pose problème...

Voici l'erreur généré par C::B : Segmentation Fault in icvBGRx2Gray_8u_CnC1R () (C:\Test\bin\Debug\libcv200.dll)