Posted November 02, 2023 by fluffy
#bugs #fixes #release #stability #qt
It took me way too long to figure this out but PySide6 (the Qt bindings for Python) does something a little weird with garbage collection, and a thing I was doing was causing a problem with this weirdness.
Anyway, not to go too deep into the details, but the tl;dr is that if a descendant of your widget needs to do something to that widget, keeping a reference to the parent’s host Python object is asking for trouble and instead you need to give it a non-QObject
delegate instead.
So, v0.7.2 fixes a crash that happened when opening multiple albums within a single application session (and also fixed another bit of Qt-related weirdness that was causing album windows to spuriously close, because apparently Qt expects you to maintain your own references to your top-level windows? I’d have expected the event loop to do that), and this also provides an improved encode progress dialog so you can see exactly what’s taking so gosh-darn long, anyway.
And there’s a few other little UI fixes as well.
This is of course not the massive UI refactor that I have planned, which will be released as v0.8 or even 1.0 when it’s ready.