[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdenonbeta/libqt-addon/libqt-addon
From:       Thiago Macieira <thiagom () mail ! com>
Date:       2003-12-16 23:13:13
[Download RAW message or body]

CVS commit by thiago: 

Prevent crash in case all workers refused to work


  M +20 -12    qresolvermanager.cpp   1.19


--- kdenonbeta/libqt-addon/libqt-addon/qresolvermanager.cpp  #1.18:1.19
@@ -495,11 +495,13 @@ void QResolverManager::doNotifying(Reque
 
   // post processing
-  if (p->obj->status != QResolver::Canceled)
+  if (p->obj->status != QResolver::Canceled && p->worker)
     p->worker->postprocess();   // ignore the result
 
   // copy the results from the worker thread to the final
   // object
-  QResolverResults& r = p->worker->results;
-  p->obj->results = r;
+  QResolverResults& r = p->obj->results;
+  if (p->worker)
+    {
+      r = p->worker->results;
 
   qDebug("QResolverManager::doNotifying(%u/%p): for %p whose status is %d and has %d results", 
@@ -516,4 +518,10 @@ void QResolverManager::doNotifying(Reque
       p->obj->syserror = 0;
     }
+    }
+  else
+    {
+      r.empty();
+      r.setError(p->obj->errorcode, p->obj->syserror);
+    }
 
   // check whether there's someone waiting


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic