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

List:       kde-core-devel
Subject:    Re: DCOP bug ! Re: Password caching for io-slaves
From:       David Faure <david () mandrakesoft ! com>
Date:       2000-05-17 18:49:42
[Download RAW message or body]

On Wed, May 17, 2000 at 11:34:56AM -0700, Waldo Bastian wrote:
> On Wed, 17 May 2000, David Faure wrote:
> > The DCOP call to UISERVER::authorize returns BEFORE its implementation
> > finishes (the dialog is shown and waits for an answer, but the DCOP
> > call returns in the caller). I can't help but see a DCOP bug here.
> 
> > This is similar to the problem khelpcenter had - but in fact it's the
> > opposite. In khelpcenter, the DCOP call never returns (until I changed it
> > to ASYNC to workaround the problem).
> > Here the call returns too early, either because we returned
> > to the Qt event loop (by calling QDialog::exec) or simply because this
> > remote method takes a long time to return (waits for user interaction).
> 
> For cases like this you want to use DCOPClientTransaction. It works like this:
> In your process(....) function you call DCOPClient::beginTransaction(), you 
> schedule whatever work you have to do and return.
> You can now do the scheduled work from within the eventLoop, popup dialogs 
> and whatever.
> When you are finished you call DCOPClient::endTransaction() with the result 
> of the operation.

Hmm, didn't know about DCOPClientTransaction, but that doesn't seem to be
of any help here. The method called does NOT go to its end. exec() waits for
user input before returning. It certainly does - but for some reason the caller
gets a DCOPFailed reply.
Ah, the rest on kfm-devel apparently ;)

-- 
David FAURE, david@mandrakesoft.com, faure@kde.org
http://home.clara.net/faure/
KDE, Making The Future of Computing Available Today
See http://www.kde.org/kde1-and-kde2.html for how to set up KDE 2

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

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