From 692a0c15692cbdb8764e23ea0a42f0572e702235 Mon Sep 17 00:00:00 2001 From: pax Date: Sat, 11 Apr 2026 23:01:45 -0500 Subject: [PATCH] grid: clean up QPropertyAnimation after fade completes Connect finished signal to deleteLater so the animation object is freed instead of being retained on the widget indefinitely. --- booru_viewer/gui/grid.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/booru_viewer/gui/grid.py b/booru_viewer/gui/grid.py index d235327..a1e2706 100644 --- a/booru_viewer/gui/grid.py +++ b/booru_viewer/gui/grid.py @@ -106,12 +106,14 @@ class ThumbnailWidget(QWidget): Qt.TransformationMode.SmoothTransformation, ) self._thumb_opacity = 0.0 - self._fade_anim = QPropertyAnimation(self, b"thumbOpacity") - self._fade_anim.setDuration(200) - self._fade_anim.setStartValue(0.0) - self._fade_anim.setEndValue(1.0) - self._fade_anim.setEasingCurve(QEasingCurve.Type.OutCubic) - self._fade_anim.start() + anim = QPropertyAnimation(self, b"thumbOpacity") + anim.setDuration(200) + anim.setStartValue(0.0) + anim.setEndValue(1.0) + anim.setEasingCurve(QEasingCurve.Type.OutCubic) + anim.finished.connect(anim.deleteLater) + self._fade_anim = anim + anim.start() def set_selected(self, selected: bool) -> None: self._selected = selected