Skip to content

v0.12.7

Compare
Choose a tag to compare
@PierreRaybaut PierreRaybaut released this 01 Aug 10:13
· 35 commits to master since this release
  • Fixed random crashes (segfaults) on Linux related to conflicts between Qt and Python reference counting mechanisms:
    • This issue was only happening on Linux, and only with Python 3.12, probably due to changes in Python garbage collector behavior introduced in Python 3.12. Moreover, it was only triggered with an extensive test suite, such as the one provided by the PlotPy project.
    • The solution was to derive all private classes containing Qt objects from QObject instead of object, in order to let Qt manage the reference counting of its objects.
    • This change was applied to the following classes:
      • QwtLinearColorMap_PrivateData
      • QwtColumnSymbol_PrivateData
      • QwtDynGridLayout_PrivateData
      • QwtGraphic_PrivateData
      • QwtLegendLabel_PrivateData
      • QwtNullPaintDevice_PrivateData
      • QwtPlotCanvas_PrivateData
      • QwtPlotDirectPainter_PrivateData
      • QwtPlotGrid_PrivateData
      • QwtPlotLayout_PrivateData
      • QwtPlotMarker_PrivateData
      • QwtPlotRenderer_PrivateData
      • QwtPlot_PrivateData
      • QwtAbstractScaleDraw_PrivateData
      • QwtScaleDraw_PrivateData
      • QwtScaleWidget_PrivateData
      • QwtSymbol_PrivateData
      • QwtText_PrivateData
  • Removed deprecated code regarding PyQt4 compatibility