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

List:       kde-commits
Subject:    Re: KDE/kdebase/runtime/khelpcenter
From:       Ralf Habacker <ralf.habacker () freenet ! de>
Date:       2008-01-28 15:03:13
Message-ID: 479DEEB1.4050609 () freenet ! de
[Download RAW message or body]

Oswald Buddenhagen schrieb:
> On Mon, Jan 28, 2008 at 02:04:56PM +0100, David Faure wrote:
>   
>>>> +    while (mSearchRunning && mProc->state() == QProcess::Running)
>>>>        kapp->processEvents();
>>>>  
>>>>         
>>> i know that's not your idea, but it is a pretty terrible one, so you
>>> might want to refactor this code.
>>>       
>> Looks like this is exactly what waitForFinished does now, isn't it?
>>
>>     
> yup - if synchronous operation is wanted.
> in this case, it is supposed to be async (i think). it's just that this
> nested pseudo evenloop is pure evil.
>   
unfortunally the callers of SearchEngine::search() expects synchronous 
operation in case of errors and async only in the case of no error 
finish, which is the real problem.

navigator.cpp:543 ...

  if ( !mSearchEngine->search( words, method, pages, scope ) ) {
    slotSearchFinished();
    KMessageBox::sorry( this, i18n("Unable to run search program.") );
  }

As far as I can see does this require an additional signal 
SearchEngine::searchError(const QString &error) in case of errors and to 
refactor navigator.cpp to us it or does someone know a better way ?

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

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