Bug 137215 - Hang after switching windows with cell selector open in Validity dialog
Summary: Hang after switching windows with cell selector open in Validity dialog
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
6.3.0.4 release
Hardware: All All
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.1.0 target:7.0.4
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Cell-Validity
  Show dependency treegraph
 
Reported: 2020-10-02 22:32 UTC by Aron Budea
Modified: 2020-11-07 21:10 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aron Budea 2020-10-02 22:32:42 UTC
- Open two Calc windows,
- In one of them, open Data -> Validity...,
- In Allow dropdown, select Cell range,
- Click the Shrink button next to the Source field,
- Switch to the other Calc window, and back.

-> The window with the dialog hangs (the dialog disappears).

There are other ways to trigger the hang, eg. you don't have to click the Shrink button, it's enough to click into the Source field, and then switch to the other window and back.

Observed using version 7.1.0.0.alpha0+ (4a899a5f8a72ea29a6919316afe3627de9f33e95), 6.3.0.4 / Ubuntu.
No issue in 6.2.0.3.
-> regression

This is a regression from the following commit, bibisected using repo bibisect-linux-64-6.3. Adding CC: to Caolán McNamara.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=e54762baa8019d02cadd311e750f6ff0d276f67b
author		Caolán McNamara <caolanm@redhat.com>	2019-04-16 17:17:58 +0100
committer	Caolán McNamara <caolanm@redhat.com>	2019-04-17 22:21:54 +0200

weld ScTPValidationValue and ScValidationDlg
Comment 1 Commit Notification 2020-11-03 17:17:22 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/d443eba9e3759454d94faaf8ef8fd3a618f7af8c

Resolves: tdf#137215 restore original modality before dialog loop ends

It will be available in 7.1.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 2 Caolán McNamara 2020-11-03 17:19:18 UTC
works in master, backport to 7-0 in gerrit
Comment 3 Commit Notification 2020-11-04 13:21:45 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-0":

https://git.libreoffice.org/core/commit/022c11602d2101b49724b5cf104cc6c70b5a5e4b

Resolves: tdf#137215 restore original modality before dialog loop ends

It will be available in 7.0.4.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 4 Xisco Faulí 2020-11-06 15:43:22 UTC
@Aron, could you please verify the issue is fixed ?
Comment 5 Aron Budea 2020-11-06 23:06:18 UTC
Verified in 7.1.0.0.alpha1+ (a373a7c1705b9abc5551388998131dacc4698642) / Ubuntu.
Thanks for fixing, Caolán!
Comment 6 Aron Budea 2020-11-07 00:02:57 UTC
Sorry, I was absentminded and didn't test this with the proper steps. There's a difference compared to the original behavior in 6.2 and before:
When I switch windows, the cell range dialog is dismissed. Previously it remained. It doesn't look significant, but is a difference nevertheless.
Caolán, what is your take on it, is it worth a fix at some point?
Comment 7 Caolán McNamara 2020-11-07 21:10:05 UTC
Yeah, I saw that difference as well, but all these "range dialogs" work like that now so its the same in e.g. define range to dismiss on changing to another document and not to restore on return. There doesn't seem to be complaint about that general case so I'd leave things alone at this point.