mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 13:30:34 +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;
|
qreal rect_size = m_size * m_previous_zoom_factor;
|
||||||
QRectF rect(0-rect_size/2, 0-rect_size/2, rect_size, rect_size);
|
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;
|
return rect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
class QetGraphicsHandlerItem : public QGraphicsItem
|
class QetGraphicsHandlerItem : public QGraphicsItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QetGraphicsHandlerItem(qreal size = 15);
|
QetGraphicsHandlerItem(qreal size = 10);
|
||||||
virtual QRectF boundingRect() const;
|
virtual QRectF boundingRect() const;
|
||||||
|
|
||||||
enum { Type = UserType + 1200};
|
enum { Type = UserType + 1200};
|
||||||
@@ -47,7 +47,7 @@ class QetGraphicsHandlerItem : public QGraphicsItem
|
|||||||
QColor m_color;
|
QColor m_color;
|
||||||
|
|
||||||
public:
|
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
|
#endif // QETGRAPHICSHANDLERITEM_H
|
||||||
|
|||||||
@@ -63,6 +63,15 @@ Diagram::Diagram(QETProject *project) :
|
|||||||
m_freeze_new_elements (false),
|
m_freeze_new_elements (false),
|
||||||
m_freeze_new_conductors_ (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);
|
setProject(project);
|
||||||
qgi_manager_ = new QGIManager(this);
|
qgi_manager_ = new QGIManager(this);
|
||||||
setBackgroundBrush(Qt::white);
|
setBackgroundBrush(Qt::white);
|
||||||
|
|||||||
@@ -48,6 +48,14 @@ ElementScene::ElementScene(QETElementEditor *editor, QObject *parent) :
|
|||||||
m_qgi_manager(this),
|
m_qgi_manager(this),
|
||||||
m_element_editor(editor)
|
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;
|
m_behavior = Normal;
|
||||||
setItemIndexMethod(NoIndex);
|
setItemIndexMethod(NoIndex);
|
||||||
setGrid(1, 1);
|
setGrid(1, 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user