Ticket #5222 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Some potentially dangerous _qti references still exist

Reported by: Martyn Gigg Owned by: Martyn Gigg
Priority: critical Milestone: Release 2.1
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Mathieu Doucet

Description

No module should be calling the bare _qti module any longer. Most references are benign as they are just checking if we are in the GUI. Some, however, need replacing as they call functions in an unsafe manner.

Ticket #5221 will clear up the benign references after the release.

Attachments

5655_frame1_Iq.xml (17.7 KB) - added by Mathieu Doucet 8 years ago.
5655_frame2_Iq.xml (16.2 KB) - added by Mathieu Doucet 8 years ago.

Change History

comment:1 Changed 8 years ago by Martyn Gigg

  • Status changed from new to accepted

comment:2 Changed 8 years ago by Martyn Gigg

Remove potentially dangerous _qti calls. Refs #5222

They call GUI methods and so need to be correctly proxied.

Changeset: fd2540a3ed2b69e2b872795abf916b2db5a52fe3

comment:3 Changed 8 years ago by Martyn Gigg

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

comment:4 Changed 8 years ago by Mathieu Doucet

  • Status changed from verify to verifying
  • Tester set to Mathieu Doucet

Changed 8 years ago by Mathieu Doucet

Changed 8 years ago by Mathieu Doucet

comment:5 Changed 8 years ago by Mathieu Doucet

  • Status changed from verifying to reopened
  • Resolution fixed deleted

I get the following error when using the stitching functionality:

Traceback (most recent call last):
  File "/home/m2d/git/mantid/Code/Mantid/scripts/Interface/reduction_gui/widgets/sans/stitcher.py", line 183, in _low_range
    RangeSelector.connect(ws_list, call_back=call_back)
  File "/home/m2d/git/mantid/Code/Mantid/scripts/LargeScaleStructures/data_stitching.py", line 79, in connect
    x_title=x_title, log_scale=log_scale)            
  File "/home/m2d/git/mantid/Code/Mantid/scripts/LargeScaleStructures/data_stitching.py", line 43, in connect
    g.close()
  File "/home/m2d/mantid_build/release/bin/mantidplotpy/proxies.py", line 124, in close
    self._kill_object)
TypeError: arguments did not match any overloaded call:
  QObject.disconnect(QObject, SIGNAL(), QObject, SLOT()): argument 1 has unexpected type 'NoneType'
  QObject.disconnect(QObject, SIGNAL(), callable): argument 1 has unexpected type 'NoneType'

To reproduce the error:

  • Start the ORNL SANS UI
  • Go to the Data Stitching tab, then load the two I(Q) files attached to this ticket in the Low Q and Medium Q boxes using the Browse button.
  • Once the two file paths are in their respective fields, hit the Pick Overlap Region button. You'll see the error message. You are supposed to see the two data sets plotted together in a single plot, with two vertical lines to pick a range. The Min Q and Max Q values on the interface should update as you move the vertical lines.

comment:6 Changed 8 years ago by Martyn Gigg

  • Status changed from reopened to accepted

comment:7 Changed 8 years ago by Martyn Gigg

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

comment:8 Changed 8 years ago by Martyn Gigg

Fix ORNL SANS data stitching after _qti changes. Refs #5222

A None object was passed to the signal disconnection and PyQt raises an error on such a situation.

Changeset: e11e5057d94c7a7e36ce0802f4f8f601390c0832

comment:9 Changed 8 years ago by Mathieu Doucet

  • Status changed from verify to verifying

comment:10 Changed 8 years ago by Martyn Gigg

  • Status changed from verifying to reopened
  • Resolution fixed deleted

comment:11 Changed 8 years ago by Martyn Gigg

Do not proxy None objects in GUI calls. Refs #5222

This means something sensible happens when doing 'g is None' on a returned GUI object.

Changeset: 8f1d75e1a9664b3c6f7d846e37a40030d471b8b4

comment:12 Changed 8 years ago by Martyn Gigg

Remove unnecessary _getHeldObject calls. Refs #5222

The returns from the GUI calls should do the expected thing now.

Changeset: 685d8e6881b99278003f38868d56ad4f439c73ef

comment:13 Changed 8 years ago by Martyn Gigg

  • Status changed from reopened to accepted

comment:14 Changed 8 years ago by Martyn Gigg

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

comment:15 Changed 8 years ago by Mathieu Doucet

  • Status changed from verify to verifying

Tested all the UI elements that use the affected call and they all work.

comment:16 Changed 8 years ago by Mathieu Doucet

  • Status changed from verifying to closed

comment:17 Changed 8 years ago by Martyn Gigg

Remove potentially dangerous _qti calls. Refs #5222

They call GUI methods and so need to be correctly proxied.

Changeset: fd2540a3ed2b69e2b872795abf916b2db5a52fe3

comment:18 Changed 8 years ago by Martyn Gigg

Fix ORNL SANS data stitching after _qti changes. Refs #5222

A None object was passed to the signal disconnection and PyQt raises an error on such a situation.

Changeset: e11e5057d94c7a7e36ce0802f4f8f601390c0832

comment:19 Changed 8 years ago by Martyn Gigg

Do not proxy None objects in GUI calls. Refs #5222

This means something sensible happens when doing 'g is None' on a returned GUI object.

Changeset: 8f1d75e1a9664b3c6f7d846e37a40030d471b8b4

comment:20 Changed 8 years ago by Martyn Gigg

Remove unnecessary _getHeldObject calls. Refs #5222

The returns from the GUI calls should do the expected thing now.

Changeset: 685d8e6881b99278003f38868d56ad4f439c73ef

comment:21 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 6068

Note: See TracTickets for help on using tickets.