Fix stop() killing the list job even if another dirlister needs it.
author David Faure
()
committer David Faure
()
commit 51707e7154082b549216b8a8ecde73505302fadc
tree 232fa57127246818337bdfc0986c89a8e9025baf
parent 7bb4e5237f9cdcc454d02270479abc2dc4447f0c
Fix stop() killing the list job even if another dirlister needs it.

Regression introduced by me in bef0bd3e3ff.
Symptom: "dolphin $HOME" showed up empty.

In the case of concurrent listings, I made the use of the cached items job
conditional (only created if there's anything to emit) so that we can join
the current listjob without killing it (updateDirectory) if it hasn't emitted
anything yet.
The unittest also uncovered inconsistencies in the emission of the cancelled
signal, now cacheditemsjob behaves like the listjob in this respect.

FIXED-IN: 4.6.2
BUG: 267709
kio/kio/kdirlister.cpp
kio/kio/kdirlister_p.h
kio/tests/kdirlistertest.cpp
kio/tests/kdirlistertest.h