Skip to content

Commit 3a47e92

Browse files
Monteldfaure-kdab
authored andcommitted
Step3: fix mem leak in test_wsdl_document
It created a My_job which is never deleted because we kill DelayedAddEmployeeJob before that My_job send signal. Add deleteLater() in slotDone to be sure that we delete it
1 parent 724bcc4 commit 3a47e92

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

unittests/wsdl_document/test_wsdl_document.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -776,8 +776,9 @@ class MyJob : public QObject
776776
{
777777
Q_OBJECT
778778
public:
779-
MyJob(const KDSoapDelayedResponseHandle &handle)
780-
: m_handle(handle)
779+
MyJob(const KDSoapDelayedResponseHandle &handle, QObject *parent = nullptr)
780+
: QObject(parent)
781+
, m_handle(handle)
781782
{
782783
QTimer::singleShot(200, this, &MyJob::slotDone);
783784
}
@@ -791,6 +792,7 @@ private Q_SLOTS:
791792
void slotDone()
792793
{
793794
emit done(this);
795+
deleteLater();
794796
}
795797

796798
private:
@@ -858,7 +860,7 @@ class DocServerObject : public MyWsdlDocumentServerBase /* generated from mywsdl
858860
m_lastMethodCalled = QLatin1String("delayedAddEmployee");
859861

860862
KDSoapDelayedResponseHandle handle = prepareDelayedResponse();
861-
MyJob *job = new MyJob(handle);
863+
MyJob *job = new MyJob(handle, this);
862864
connect(job, &MyJob::done, this, &DocServerObject::slotDelayedResponse);
863865
return "THIS VALUE IS IGNORED";
864866
}

0 commit comments

Comments
 (0)