mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 05:00:33 +01:00
Backport fix made in commit 5073, 5077, 5079 in branch 0.6
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.60@5085 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -35,7 +35,7 @@ QRectF QetGraphicsHandlerItem::boundingRect() const
|
||||
{
|
||||
qreal rect_size = m_size * m_previous_zoom_factor;
|
||||
QRectF rect(0-rect_size/2, 0-rect_size/2, rect_size, rect_size);
|
||||
rect.adjust(-2, -2, 2, 2);
|
||||
rect.adjust(-0.1, -0.1, 0.1, 0.1);
|
||||
return rect;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
class QetGraphicsHandlerItem : public QGraphicsItem
|
||||
{
|
||||
public:
|
||||
QetGraphicsHandlerItem(qreal size = 15);
|
||||
QetGraphicsHandlerItem(qreal size = 10);
|
||||
virtual QRectF boundingRect() const;
|
||||
|
||||
enum { Type = UserType + 1200};
|
||||
@@ -47,7 +47,7 @@ class QetGraphicsHandlerItem : public QGraphicsItem
|
||||
QColor m_color;
|
||||
|
||||
public:
|
||||
static QVector<QetGraphicsHandlerItem *> handlerForPoint(const QVector<QPointF> &points, int size = 15);
|
||||
static QVector<QetGraphicsHandlerItem *> handlerForPoint(const QVector<QPointF> &points, int size = 10);
|
||||
};
|
||||
|
||||
#endif // QETGRAPHICSHANDLERITEM_H
|
||||
|
||||
@@ -63,6 +63,15 @@ Diagram::Diagram(QETProject *project) :
|
||||
m_freeze_new_elements (false),
|
||||
m_freeze_new_conductors_ (false)
|
||||
{
|
||||
|
||||
setItemIndexMethod(QGraphicsScene::NoIndex);
|
||||
//Set to no index, because they can be the source of the crash with conductor and shape ghost.
|
||||
//https://forum.qt.io/topic/71316/qgraphicsscenefinditembsptreevisitor-visit-crashes-due-to-an-obsolete-paintevent-after-qgraphicsscene-removeitem
|
||||
//https://stackoverflow.com/questions/38458830/crash-after-qgraphicssceneremoveitem-with-custom-item-class
|
||||
//http://www.qtcentre.org/archive/index.php/t-33730.html
|
||||
//http://tech-artists.org/t/qt-properly-removing-qgraphicitems/3063
|
||||
|
||||
|
||||
setProject(project);
|
||||
qgi_manager_ = new QGIManager(this);
|
||||
setBackgroundBrush(Qt::white);
|
||||
|
||||
@@ -48,6 +48,14 @@ ElementScene::ElementScene(QETElementEditor *editor, QObject *parent) :
|
||||
m_qgi_manager(this),
|
||||
m_element_editor(editor)
|
||||
{
|
||||
|
||||
setItemIndexMethod(QGraphicsScene::NoIndex);
|
||||
//Set to no index, because they can be the source of the crash with conductor and shape ghost.
|
||||
//https://forum.qt.io/topic/71316/qgraphicsscenefinditembsptreevisitor-visit-crashes-due-to-an-obsolete-paintevent-after-qgraphicsscene-removeitem
|
||||
//https://stackoverflow.com/questions/38458830/crash-after-qgraphicssceneremoveitem-with-custom-item-class
|
||||
//http://www.qtcentre.org/archive/index.php/t-33730.html
|
||||
//http://tech-artists.org/t/qt-properly-removing-qgraphicitems/3063
|
||||
|
||||
m_behavior = Normal;
|
||||
setItemIndexMethod(NoIndex);
|
||||
setGrid(1, 1);
|
||||
|
||||
Reference in New Issue
Block a user