Hello Yichao,

2012/11/12 Yichao Yu <yyc1992@gmail.com>
I checkout out the code for KAuth and found out the following lines
in` ActionReply Action::execute(const QString &helperID) const`

    if (d->async) {
        if (hasHelper()) {
            // It makes no sense
            return ActionReply::InvalidActionReply;
        }

which gives the right error code and can explain why only the async
action fails. The comment says "makes no sense", but doesn't say
why.... can anyone explain the reason??

Looks like there is a logical error in the code that I forgot to fix in the 4.x branch. if (!hasHelper()) is the correct line, and if the action has no helper it doesn't make sense to execute it asynchronously since there is actually nothing to do, but only to authorize. Sorry about that, I will provide a fix ASAP - my main focus lately has been the framework branch, where most of the logic actually changed.
 
And I cannot found the
description for this anywhere in the tutorial (e.g. some backend may
not support async action with helper at all.....), if it really
doesn't make sense to do this (which I really doubt....) I guess it
would be better to add it...

What you are doing is perfectly supported and the bug is in the library.
 

THX.


[1] http://forum.kde.org/viewtopic.php?f=43&t=94801

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<