New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
All LXQt::Settings and QSettings file change monitoring stop working. #441
Comments
damn it, qt bugs :( Let's have a workaround in 0.9 and make sure it's filed and fixed for 5.5. |
On Sun, Jan 18, 2015 at 12:20 PM, PCMan notifications@github.com wrote:
I already found a way to workaround this issue and is now working on it.
|
@PCMan you are the man of the workarounds! Looking forward to seeing the fix. |
Well, strictly speaking, it's not a Qt bug. It's a feature. Anyway, here is my simple workaround: Just check if the file is deleted. If it is, re-add the path to the watcher. |
@PCMan Looks good. I understand the issue better now. It's worth asking on the Qt ML how we're actually supposed to do this. But, in the end, I suspect it comes down to using gsettings. Kind of annoying they would pull this without actually supporting even dconf, isn't it? |
I can fix it. Just give me 1 or 2 days. On Mon, Jan 19, 2015 at 6:19 PM, Jerome Leclanche notifications@github.com
|
Here comes the pull request. |
PR lxqt/liblxqt#33 is a workaround only, an eventual adaption of LXQt to the changes in Qt covered by this issue is still pending. |
IMHO lxqt/liblxqt#33 is not a workaround, but a proper solution. |
@pmattern do you still want this to be open? |
Yes, I think we can close this. We are doing it in a correct way (which doesn't mean there are not better ways). |
@palinek Removing the milestone as the solution sure works for now. |
does it really work - see #1560 |
This was something completely different... |
ok - so we can close this right now? |
It shouldn't have been reopened in the first place :-D.... so definitely yes |
I really think this is a critical issue since this breaks lxqt-qtplugin and liblxqt.
All code that relying on file change monitoring of the config files are broken since Qt 5.4.
I'm not sure about how many components are affected by this.
There is one thing for sure, it's one of the causes of broken theme update happened recently.
So I hope you guys can take a look at it and don't regard it as a minor issue that can be ignored.
(ping @paulolieuthier , @jleclanche , @luis-pereira )
The problem is caused by this commit in Qt 5.4.
qt/qtbase@8d15068#diff-e691c0405f02f3478f4f50a27bdaecde
By using QSaveFile instead of the original file saving mechanism, the config file is written to a temporary file, and replace the old file later.
The original config file is never written. It's deleted and replaced.
This unfortunately breaks the QFileSystemWatcher API so we can no longer receive file change notifications after the first change.
I already found a way to workaround this issue and is now working on it.
The text was updated successfully, but these errors were encountered: