If detach inspector palette after factory reset before inspector tour was initiated, then stuck in infinite loop

• Jul 2, 2019 - 03:48
Reported version
3.2
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project

Steps to reproduce:
1. Do factory reset (mscore -F)
2. do all the default starting options
3. complete the welcome tour
4. detach inspector

Result: the inspector tour starts to run, but somehow clicking Next doesn't advance the tour, and we are stuck forever! Closing musescore via File->Quit or pressing the window's [x] is not possible because the tours are modal! Can only forcibly quit the application, such as by pressing Alt->F4.

This is what my screen shot looks like in this state:

Screenshot at 2019-07-01 22-45-22.png


Comments

Interestingly, this problem affects my Arch Linux machine (running mate desktop), but not my Windows 10 machine.

Clicking "Next" seems to cause the Tour box to close and reopen, but it is stuck at the first message for that tour but doesn't advance.

Interestingly, I am able to advance the Tour by pressing [Enter] on my keyboard. Somehow clicking doesn't work.

So, I can't test this in debug. I'd step through the code after the mbox->exec() and see which path it takes. Make sure that "i" gets updated to a new value and that it actually sets a new message for mbox. Since it is a strange bug, I'd also make sure that the your isn't getting triggered multiple times or something odd; keep an eye on how it gets to displayTour.

I'm starting to debug. I'm noticing that that bug only happens if I drag the inspector window (by clicking and dragging the "Inspector" title bar) immediately after detaching, before I actually click inside the inspector window (which starts the tour).

Stepping through debugger now, and I find that mbox->exec() start but the problem is it doesn't complete exec(). So it never gets to the subsequent code!

If after using [Enter] to bypass the bug when inspector is detached, if I then go to Help->Tours->"Reset Tours", then I somehow don't experience the bug.

Actually the problem happens on WINDOWS too. The reason I wasn't aware earlier was because I didn't do the crucial step of dragging the inspector window immediately after detaching.

Title If detach inspector pallete after factory reset before inspector tour was initiated, then stuck in infinite loop If detach inspector palette after factory reset before inspector tour was initiated, then stuck in infinite loop

Fix typo in issue title.

Status PR created fixed

Fixed in branch master, commit 936a743222

_fix #291646 initiate inspector tour on mouse press

Fixes bug that caused inability to finish the inspector tour if user undocked and dragged the inspector widget before tour was initiated. If the inspector was undocked, then it would interfere with clicking "Next" or "Close" in the tour's popup mbox.

This solution is to start the tour on MouseButtonPress so the tour happens before the main mscore window loses mouse focus._

Fix version
3.3.0