Ticket #8229 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Removing the last curve in the Plot Details crashes Mantid

Reported by: Arturs Bekasovs Owned by: Arturs Bekasovs
Priority: critical Milestone: Release 3.0
Component: GUI Keywords:
Cc: Blocked By:
Blocking: Tester: Keith Brown

Description

To reproduce:

  1. Load a data file and plot a bunch of spectra.
  2. Open Plot Details dialog by double-clicking on any curve curve.
  3. On the left, right-click on the curve (NOT the layer) and click Delete.
  4. Do that for all the curves. When you delete the last one, Mantid crashes.

Change History

comment:1 Changed 7 years ago by Nick Draper

  • Owner changed from Keith Brown to Arturs Bekasovs

comment:2 Changed 7 years ago by Arturs Bekasovs

  • Status changed from new to inprogress

comment:3 Changed 7 years ago by Arturs Bekasovs

Set connection for closing to be queued, not direct by default.

Refs #8229

Changeset: 25925dd79e1848e6005d0509ac9d04a3e4b9a5e1

comment:4 Changed 7 years ago by Arturs Bekasovs

The reason for the bug was that there was a direct connection to needToClose() method, which closed the plot when last curve was removed. This caused a consequent plotUpdate() to crash because the widget it was going to update was closed. Making the connection queued makes it so that all the updates happen first, and needToClose() is called when execution returns to the event queue.

comment:5 Changed 7 years ago by Arturs Bekasovs

Tester:

Check that it's fine now, and instead of crashing the plot is closed when the last curve is removed.

comment:6 Changed 7 years ago by Arturs Bekasovs

  • Status changed from inprogress to verify
  • Resolution set to fixed

comment:7 Changed 7 years ago by Keith Brown

  • Status changed from verify to verifying
  • Tester set to Keith Brown

comment:8 Changed 7 years ago by Keith Brown

Window now closes when last plot is removed, which is better than crashing mantid.

comment:9 Changed 7 years ago by Keith Brown

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/8229_last_curve_crash'

Full changeset: ae9c8cadb04c579e9573c37b74bf08a4771c1d63

comment:10 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9074

Note: See TracTickets for help on using tickets.