fix(socketapi): defer move item dialog out of socket read loop. - #10552
Open
camilasan wants to merge 3 commits into
Open
fix(socketapi): defer move item dialog out of socket read loop.#10552camilasan wants to merge 3 commits into
camilasan wants to merge 3 commits into
Conversation
Member
Author
|
/backport to stable-34.0 |
camilasan
force-pushed
the
bugfix/10519/conflict-resolve-crash
branch
from
August 6, 2026 20:45
43db3bd to
b7294ce
Compare
camilasan
marked this pull request as ready for review
August 6, 2026 21:12
camilasan
requested review from
claucambra,
i2h3,
mgallien and
nilsding
as code owners
August 6, 2026 21:12
Fixes #10519 Running ConflictDialog::exec() from the Qt::DirectConnection socket dispatch spun a nested modal loop inside slotReadSocket. If the socket disconnected while the dialog was open, the QLocalSocket was freed and the read loop dereferenced it again at socketapi.cpp:385, crashing with an access violation. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Camila Ayres <hello@camilasan.com>
command_MOVE_ITEM showed QFileDialog::getSaveFileUrl as a nested modal loop from the Qt::DirectConnection socket dispatch, the same reentrancy that can free the socket underneath the handler causing a crash. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Camila Ayres <hello@camilasan.com>
…cked. Clicking a conflict entry brought the user to the activity log. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Camila Ayres <hello@camilasan.com>
camilasan
force-pushed
the
bugfix/10519/conflict-resolve-crash
branch
from
August 7, 2026 09:27
b7294ce to
56e6b06
Compare
Contributor
|
Artifact containing the AppImage: nextcloud-appimage-pr-10552.zip Digest: To test this change/fix you can download the above artifact file, unzip it, and run it. Please make sure to quit your existing Nextcloud app and backup your data. |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Resolves
#10519
Summary
command_MOVE_ITEM showed QFileDialog::getSaveFileUrl as a nested modal loop
from the Qt::DirectConnection socket dispatch. Defer the dialog to the
next event loop iteration after computing the default path.
One extra change: now the notification for conflicts in the activity list opens the conflict dialog directly.
TODO
Checklist
AI (if applicable)