Ticket #8984 (closed: fixed)
Right click doesn't work in the table
Reported by: | Arturs Bekasovs | Owned by: | Arturs Bekasovs |
---|---|---|---|
Priority: | critical | Milestone: | Release 3.2 |
Component: | GUI | Keywords: | Windows |
Cc: | Blocked By: | ||
Blocking: | Tester: | Nick Draper |
Description
Windows-only.
To reproduce:
- Set Custom interfaces to be floating by default.
- Load some data in MuonAnalysis and fit it to anything.
- Go to Results Table tab and create a table. A table window should be added.
- Create the table with the same name and click Yes in a confirmation box. Table window should updated.
- Try to right-click on the table to e.g. plot one of the columns. Going back to the interface and then right-clicking again fixes the problem.
I should try to come up with non-Muon case, e.g. using script window to replace table workspace.
Change History
comment:2 Changed 7 years ago by Nick Draper
- Status changed from new to assigned
Bulk move of tickets out of triage (new) to assigned at the introduction of the triage state
comment:4 Changed 7 years ago by Arturs Bekasovs
- Priority changed from major to critical
Very difficult to use on windows.
comment:5 Changed 7 years ago by Arturs Bekasovs
- Keywords Windows, PatchCandidate added; Windows removed
Might worth it. I face it again and again during demos.
comment:6 Changed 7 years ago by Nick Draper
- Milestone changed from Release 3.2 to Release 3.1.1
Moved to patch release 3.1.1
comment:7 Changed 7 years ago by Arturs Bekasovs
- Status changed from assigned to inprogress
Refs #8984. Reset MdaArea current to NULL when select floating win.
Changeset: af818d8df15d824ecd3cedb505abf686f3755393
comment:8 Changed 7 years ago by Arturs Bekasovs
Tester:
This is quite an intricate bug, so please make sure you can reproduce it on the current stable version first. Please feel free to grab me if you couldn't.
Please make sure you understand the reason behind the code change and that it is commented well enough. It's worth mentioning, that it isn't the only place where current window is set to NULL, so it shouldn't introduce any NULL-pointer problems.
Make sure the problem is not reproducible after the changes.
Play a bit more with floating/docked windows to make sure it doesn't have any other undesirable effects. Try out all the options of the Project Explorer view and Windows menu for both floating and docked windows.
comment:9 Changed 7 years ago by Arturs Bekasovs
- Status changed from inprogress to verify
- Resolution set to fixed
comment:10 Changed 7 years ago by Arturs Bekasovs
- Status changed from verify to reopened
- Resolution fixed deleted
A slight improvement worth making: when docked window activated - activate it in the MdiArea as well. Otherwise we might end up with window being active in ApplicationWindow but not in MdiArea, which is misleading.
comment:11 Changed 7 years ago by Arturs Bekasovs
- Status changed from reopened to inprogress
Refs #8984. Set current win. of MdiArea to current win. of app.
Changeset: 27ef814d6f917126a5768480869df156bdb05198
comment:12 Changed 7 years ago by Arturs Bekasovs
- Status changed from inprogress to verify
- Resolution set to fixed
comment:13 Changed 7 years ago by Nick Draper
- Status changed from verify to verifying
- Tester set to Nick Draper
comment:14 Changed 7 years ago by Nick Draper
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/bugfix/8984_table_right_click'
Full changeset: 26408d66f0b23babef4b6f8338d7949ef73016c4
comment:15 Changed 7 years ago by Nick Draper
- Keywords Windows added; Windows, PatchCandidate removed
- Milestone changed from Release 3.1.1 to Release 3.2
comment:16 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 9827
This happens because when being updated the table window gets activated without updating the d_active_window of the ApplicationWindow. That's why when it gets clicked on, QMdiArea doesn't throw a signal that the current window has changed, leaving the interface to be the d_active_window, which causes activeWindow(TableWindow) check in ApplicationWindow::showTableContextMenu to fail.