SwatPhonLab / UltraTrace

A Free/Open-Source tool for manual annotation of Ultrasound Tongue Imaging data.
GNU General Public License v3.0
10 stars 5 forks source link

wx branch crashes with python upgrade #192

Open jonorthwash opened 1 year ago

jonorthwash commented 1 year ago

In Python 3.10.8 with wx 4.0.7, the partial interface redesign (#159) in the wx branch runs as expected (see e.g. screenshot in https://github.com/SwatPhonLab/UltraTrace/issues/159#issuecomment-1483885180).

With Python 3.11.2 with wx 4.2.0, however, it crashes:

$ python3 -m ultratrace ../ultrasound-data-QumuqKGQ-190929
/usr/lib/python3/dist-packages/requests/__init__.py:87: RequestsDependencyWarning: urllib3 (1.26.12) or chardet (5.1.0) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
INFO:   initializing UltraTrace
INFO:    - initializing module: Data
DEBUG:     - parsing directory: `../ultrasound-data-QumuqKGQ-190929`
DEBUG:     - found metadata file: `../ultrasound-data-QumuqKGQ-190929/metadata.json`
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/jwashin1/Documents/UltraTrace/ultratrace/__main__.py", line 309, in <module>
    mainFrame = Frame(None, title='UltraTrace')
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jwashin1/Documents/UltraTrace/ultratrace/__main__.py", line 22, in __init__
    self.initialise()
  File "/home/jwashin1/Documents/UltraTrace/ultratrace/__main__.py", line 37, in initialise
    self.buildWidgetSkeleton()
  File "/home/jwashin1/Documents/UltraTrace/ultratrace/__main__.py", line 234, in buildWidgetSkeleton
    self.panel.SetSizer(self.hbox)
wx._core.wxAssertionError: C++ assertion "CheckExpectedParentIs(w, m_containingWindow)" failed at ./src/common/sizer.cpp(887) in SetContainingWindow(): Windows managed by the sizer associated with the given window must have this window as parent, otherwise they will not be repositioned correctly.

Please use the window wxPanel@0x33a2910 ("panel") with which this sizer is associated, as the parent when creating the window wxBitmapButton@0x4088a70 ("button") managed by it.