Hello! I have reproduced a crash with QGraphicsView where you: - add a single item in the middle of the scene, - resize (shrink) the window with the mouse so the item is not fully visible - resize (grow) the window again - ***the issue happens right when item is fully visible again.***
Any idea how to work around this? I don’t know enough about QWidgetBackingStore and the gui kernel to debug this and my diagramming app is crashing randomly when the scene is not in view. Thanks! CONSOLE OUTPUT ====================================== QPainter::begin: A paint device can only be painted by one painter at a time. QPainter::setCompositionMode: Painter not active QPaintDevice: Cannot destroy paint device that is being painted STACK TRACE ====================================== #0 0x000000010a2f09fe in QPainter::begin(QPaintDevice*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/gui/painting/qpainter.cpp:1707 #1 0x000000010a2f094a in QPainter::QPainter(QPaintDevice*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/gui/painting/qpainter.cpp:1476 #2 0x000000010a2ed5bd in QPainter::QPainter(QPaintDevice*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/gui/painting/qpainter.cpp:1472 #3 0x000000010de4d4f5 in QRasterBackingStore::beginPaint(QRegion const&) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/platformsupport/graphics/qrasterbackingstore.cpp:124 #4 0x000000010a236f8b in QBackingStore::beginPaint(QRegion const&) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/gui/painting/qbackingstore.cpp:176 #5 0x000000010937a152 in QWidgetBackingStore::beginPaint(QRegion&, QWidget*, QBackingStore*, BeginPaintInfo*, bool) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:335 #6 0x000000010938088e in QWidgetBackingStore::doSync() at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1335 #7 0x000000010937effc in QWidgetBackingStore::sync() at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/kernel/qwidgetbackingstore.cpp:1156 #8 0x00000001093ad4b3 in QWidgetPrivate::syncBackingStore() at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/kernel/qwidget.cpp:1970 #9 0x00000001093c1fd7 in QWidget::event(QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/kernel/qwidget.cpp:9107 #10 0x000000010952141b in QFrame::event(QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/widgets/qframe.cpp:550 #11 0x00000001095dbb0e in QAbstractScrollArea::event(QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/widgets/qabstractscrollarea.cpp:1153 #12 0x00000001098357cf in QGraphicsView::event(QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/graphicsview/qgraphicsview.cpp:2849 #13 0x0000000108ba9cd3 in sipQGraphicsView::event(QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-dev/build/PyQt5_gpl-5.8/QtWidgets/sipQtWidgetspart0.cpp:184236 #14 0x000000010936831f in QApplicationPrivate::notify_helper(QObject*, QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/kernel/qapplication.cpp:3722 #15 0x000000010936d549 in QApplication::notify(QObject*, QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/widgets/kernel/qapplication.cpp:3685 #16 0x0000000108c2d278 in sipQApplication::notify(QObject*, QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-dev/build/PyQt5_gpl-5.8/QtWidgets/sipQtWidgetspart0.cpp:308213 #17 0x000000010811f575 in QCoreApplication::notifyInternal2(QObject*, QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1018 #18 0x0000000108120f28 in QCoreApplication::sendEvent(QObject*, QEvent*) at /Users/patrick/dev/vendor/pyqt-sysroot-dev/build/qt5/qtbase/src/corelib/.moc/../../../../../../../pyqt-sysroot-base/src/qt5-src/qtbase/src/corelib/kernel/qcoreapplication.h:234 #19 0x0000000108120dae in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1693 #20 0x000000010812000f in QCoreApplication::sendPostedEvents(QObject*, int) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1547 #21 0x000000010dd029ae in QCocoaEventDispatcherPrivate::processPostedEvents() at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm:887 #22 0x000000010dd0385f in QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) at /Users/patrick/dev/vendor/pyqt-sysroot-base/src/qt5-src/qtbase/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm:909 CODE ====================================== import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * def test_graphics(): """ Demonstrate simple crash when putting an item out of view when resizing the window. """ app = QApplication(sys.argv) s = QGraphicsScene() text = QGraphicsTextItem() text.setPlainText('here we are') text.setTextInteractionFlags(Qt.TextEditorInteraction) text.setPos(0, 0) s.addItem(text) w = QGraphicsView() w.setScene(s) w.centerOn(QPointF(0, 0)) w.show() w.resize(300, 300) app.exec() w = None # also prevents another bug where abort() from QApplication::style() because isActiveWindow() is called from setScene(NULL) test_graphics()
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest