D7671: Fix automatic reload of files saved with QSaveFile

Albert Astals Cid noreply at phabricator.kde.org
Wed Sep 6 19:24:19 UTC 2017


aacid added a comment.


  In https://phabricator.kde.org/D7671#143360, @rkflx wrote:
  
  > In https://phabricator.kde.org/D7671#143117, @aacid wrote:
  >
  > > It was added to make this work, and it did work at some point, i don't add code for nothing ;)
  >
  >
  > Of course, and your code still works today: it fixes the rm/touch case (with https://phabricator.kde.org/D7671 not applied yet). I guess for Kate it broke in 2012 (your patch is from 2008) with the introduction of KSaveFile in https://phabricator.kde.org/R40:a188aa837b7e609a1d555414603fb8d2ed7d70fa. My question was more about why you went for the directory approach instead of just listening for `KDirWatch::created`.
  
  
  I don't know, that was long time ago.
  
  > Concerning https://phabricator.kde.org/R223:f93ccd7923491c6b1412ba5cb1fe0711e44496d8, I find the part re-adding the watch for removed files is also not needed with https://phabricator.kde.org/D7671. Will do some more testing over the weekend and maybe prepare a patch. (You can tell I'm not a fan of encoding state in bools with updates spread over the codebase. As far as I can see, in conjunction with the directory watch this led to several bugs, e.g. 384185, 234139, 321880 and maybe more.)
  
  Because there's a much better way of encoding state that using variables that encode state, right?
  
  > Here's my suggestion going forward:
  > 
  > - Independently from Okular's case, evaluate accuracy of KDirWatch autotests and docs regarding "move/rename" (currently not mentioned at all, thus to be considered undefined behaviour…) as well as directory operations in general, fix potential code bugs and doc confusions
  > - Agree to accept https://phabricator.kde.org/D7671 in any case (reasons: code is simpler and less error-prone, fixes the issue even for users on LTS distros with old KF5 libs)
  > - Try to revert https://phabricator.kde.org/R223:f93ccd7923491c6b1412ba5cb1fe0711e44496d8 including later fixups
  > 
  >   TL;DR: Do both: Fix KDirWatch and apply https://phabricator.kde.org/D7671.
  
  I'm hesitant of applying something that just workarounds a library not working.

REPOSITORY
  R223 Okular

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

To: progwolff, aacid
Cc: sander, rkflx, #okular, aacid
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20170906/6e97f48a/attachment.html>


More information about the Okular-devel mailing list