mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-01 23:54:13 +02:00
8b2548d601
Laurent found that moving an element on a #954 build left its terminals' help lines behind at every step, on both palettes. The view listened to QGraphicsScene::changed() so that render() would keep the scene's updates flowing, and any receiver on that signal puts the scene on its Qt 4.4 compatibility path, which erases a moved item's own old rect only: children bigger than their parent stay on screen. Master hides that with FullViewportUpdate, which repaints the whole viewport on every change. Paint the inverted folio through QGraphicsView::paintEvent() instead, with IndirectPainting set for that call and the draw hooks painting into a viewport-sized image, and hand the scene the viewport when the items are drawn so it records where each item was painted, including a child whose geometry is set while its parent paints. The listener and the full-viewport update go. Two tests move a parent with a sheet-wide child, read the backing store, and require the repaint to be a partial one.