Bug 381835 - RunnerManager::queryFinished never emitted
Summary: RunnerManager::queryFinished never emitted
Status: RESOLVED FIXED
Alias: None
Product: frameworks-krunner
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: David Edmundson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-30 17:27 UTC by David Edmundson
Modified: 2020-07-11 18:29 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.62


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Edmundson 2017-06-30 17:27:06 UTC
QObject::connect(job->decorator().data(), SIGNAL(done(ThreadWeaver::JobPointer)), q, SLOT(jobDone(ThreadWeaver::JobPointer)));
            Queue::instance()->enqueue(job);

is broken.

In order to get signals from the decorator you have to actually run the decorator, not the decoratee (which is a bit odd and clearly not a decorator pattern at all)

Changing that is harder than it would seem because Runner dynamic_casts the jobs to FindMatchJob all over the place as it manually bookeeps the jobs despite bookmarking jobs being *literally the entire point of threadweaver*.