Bonjour à tous,
Je viens avec un souci de memory leaks sur un QTimer!
je dispose d'une QApplication custom simple:
et d'un main qui créer cette QApplication:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 class EditorApplication : public QApplication{ Q_OBJECT public: hdEditorApplication(int argc, char** argv) : QApplication(argc, argv) { Ui::MainWindow mainWindowUI; mainWindowUI.setupUi(&mMainWindow); mMainWindow.show(); QObject::connect(this, SIGNAL(lastWindowClosed()), this, SLOT(quit())); mTimer = new QTimer(this); connect(mTimer, SIGNAL(timeout()), this, SLOT(Tick())); } private slots: void Tick() { ... } public: bool Run() { mTimer->start(); return exec(); } private: QMainWindow mMainWindow; QTimer* mTimer;
J'ai une leaks détecter de 452 bytes et 20 bytes... Si je commente mTimer->start(); dans la méthode Run(), je n'ai plus de leaks... je ne comprend pas vraiment , sachant que QTimer a un parent qui est la QApplication elle même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int main() { _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); EditorApplication editor = new EditorApplication(...); editor->Run(); delete editor; return 0; }
Des idées?
Merdi
Partager