From 74683be68b8411e10e64b87341508370ce4bbf3c Mon Sep 17 00:00:00 2001 From: KIU Shueng Chuan Date: Fri, 15 Jan 2021 13:12:36 +0800 Subject: [PATCH] GraphicsScene.py : check for C++ item live-ness this gets triggered in PySide6 but not in PyQt5, PySide2. --- pyqtgraph/GraphicsScene/GraphicsScene.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyqtgraph/GraphicsScene/GraphicsScene.py b/pyqtgraph/GraphicsScene/GraphicsScene.py index 2b46771c..6569d57b 100644 --- a/pyqtgraph/GraphicsScene/GraphicsScene.py +++ b/pyqtgraph/GraphicsScene/GraphicsScene.py @@ -3,7 +3,7 @@ import time import weakref import warnings -from ..Qt import QtCore, QtGui +from ..Qt import QtCore, QtGui, isQObjectAlive from ..Point import Point from .. import functions as fn from .. import ptime as ptime @@ -298,7 +298,9 @@ class GraphicsScene(QtGui.QGraphicsScene): for item in prevItems: event.currentItem = item try: - if item.scene() is self: + # NOTE: isQObjectAlive(item) was added for PySide6 where + # verlet_chain_demo.py triggers a RuntimeError. + if isQObjectAlive(item) and item.scene() is self: item.hoverEvent(event) except: debug.printExc("Error sending hover exit event:")