<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/108691/">http://git.reviewboard.kde.org/r/108691/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Kevin Funk.</div>







<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Fix crash at exit while ctest is running

In case the child-job of a CTestRunJob is killed, the CTestRunJob itself
is still marked as valid. When the CTestRunJob finishes, its parent
ExecuteCompositeJob tries to start the next CTestRunJob in the queue.

But we don't want that in case we the old job was killed.

Another idea might be to check KDevelop::ICore::self()->shuttingDown() in CTestRunJob::processFinished instead. You decide.

Backtrace (reduced):
#8  0x00007fc7b1b4c435 in CTestRunJob::start (this=0x7b753f0) at /home/krf/devel/src/kdevelop/projectmanagers/cmake/testing/ctestrunjob.cpp:117
#9  0x00007fc7e9cb22d1 in KDevelop::ExecuteCompositeJob::slotResult (this=0x5737620, job=<optimized out>) at /home/krf/devel/src/kdevplatform/util/executecompositejob.cpp:67
#10 0x00007fc7ee70f872 in QMetaObject::activate (sender=0xb0db030, m=0x7fc7f08f5540 <KJob::staticMetaObject>, local_signal_index=3, argv=0x7fff84e57dc0) at /home/krf/devel/src/qt/src/corelib/kernel/qobject.cpp:3539
#11 0x00007fc7f056aef2 in KJob::result (this=this@entry=0xb0db030, _t1=_t1@entry=0xb0db030) at ./kjob.moc:208
#12 0x00007fc7f056af30 in KJob::emitResult (this=0xb0db030) at ../../kdecore/jobs/kjob.cpp:318
#13 0x00007fc7b1b4b806 in CTestRunJob::processFinished (this=0xb0db030, job=<optimized out>) at /home/krf/devel/src/kdevelop/projectmanagers/cmake/testing/ctestrunjob.cpp:155
#14 0x00007fc7ee70f872 in QMetaObject::activate (sender=0x8072570, m=0x7fc7f08f5540 <KJob::staticMetaObject>, local_signal_index=0, argv=0x7fff84e57f80) at /home/krf/devel/src/qt/src/corelib/kernel/qobject.cpp:3539
#15 0x00007fc7f056acdf in KJob::finished (this=this@entry=0x8072570, _t1=_t1@entry=0x8072570) at ./kjob.moc:187
#16 0x00007fc7f056af25 in KJob::emitResult (this=0x8072570) at ../../kdecore/jobs/kjob.cpp:316
#17 0x00007fc7f056afed in KJob::kill (this=0x8072570, verbosity=KJob::EmitResult) at ../../kdecore/jobs/kjob.cpp:117
#18 0x00007fc7eff74747 in KDevelop::RunController::stopAllProcesses (this=0x1f137a0) at /home/krf/devel/src/kdevplatform/shell/runcontroller.cpp:628</pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>projectmanagers/cmake/testing/ctestrunjob.cpp <span style="color: grey">(1c8a2e59e5dd3898619766fbeab82181f18b9336)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/108691/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>




  </div>
 </body>
</html>