D19170: Fix crash while moving files

Dominik Haumann noreply at phabricator.kde.org
Tue Feb 19 20:54:02 GMT 2019


dhaumann added inline comments.

INLINE COMMENTS

> kjob.cpp:105
>  
> +    if (isAutoDelete()) {
> +        deleteLater();

Alternatively to moving the code, you could also use a `QPointer<KJob> that(this);` to monitor whether the QObject is still existing. Then, you'd have to call

  if (that && isAutoDelete()) {...}

What I wonder is if calling deleteLater() earlier, would it be possible to somehow change order of execution?
Reasoning: deleteLater() goes through the event queue, but the signals & slots as well go through the event queue in case of threaded execution or when using Qt::QueuedConnection. So this possibly changes the order of events.

Someone who knows the code and how this internally is processed definitely needs to have a look at this :-)

REPOSITORY
  R244 KCoreAddons

REVISION DETAIL
  https://phabricator.kde.org/D19170

To: hallas, #frameworks, elvisangelaccio
Cc: dhaumann, kde-frameworks-devel, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20190219/af45199c/attachment.html>


More information about the Kde-frameworks-devel mailing list