]> git.sesse.net Git - kdenlive/blobdiff - src/onmonitoritems/onmonitorrectitem.cpp
Fix Coverity #980698
[kdenlive] / src / onmonitoritems / onmonitorrectitem.cpp
index 37f918f356b978754b7cccb7615234d8b0487312..de1e661e76ee00607df494290360ba6320c9e4e5 100644 (file)
 #include <QGraphicsView>
 
 OnMonitorRectItem::OnMonitorRectItem(const QRectF &rect, double dar, QGraphicsItem* parent) :
-        QGraphicsRectItem(rect, parent),
-        m_dar(dar),
-        m_modified(false),
-        m_view(NULL)
+        QGraphicsRectItem(rect, parent)
+        , m_dar(dar)
+       , m_mode(NoAction)
+        , m_modified(false)
+        , m_view(NULL)
 {
     setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
 
@@ -56,8 +57,8 @@ rectActions OnMonitorRectItem::getMode(QPointF pos)
     right.lineTo(pol.at(2));
 
     QPainterPath mouseArea;
-    qreal xsize = 10;
-    qreal ysize = 10;
+    qreal xsize = 12;
+    qreal ysize = 12;
     if (getView()) {
         xsize /= m_view->matrix().m11();
        ysize /= m_view->matrix().m22();
@@ -264,11 +265,11 @@ void OnMonitorRectItem::paint(QPainter* painter, const QStyleOptionGraphicsItem*
     Q_UNUSED(widget)
 
     painter->setPen(pen());
-    painter->drawRect(option->rect);
-    const QRectF r = painter->worldTransform().mapRect(option->rect);
-    painter->setWorldMatrixEnabled(false);
+    //painter->setClipRect(option->rect);
+    const QRectF r = rect();
+    painter->drawRect(r);
+    QRectF handle = painter->worldTransform().inverted().mapRect(QRectF(0, 0, 6, 6));
     if (isEnabled()) {
-       QRectF handle(0, 0, 6, 6);
        handle.moveTopLeft(r.topLeft());
         painter->fillRect(handle, QColor(Qt::yellow));
        handle.moveTopRight(r.topRight());
@@ -281,8 +282,8 @@ void OnMonitorRectItem::paint(QPainter* painter, const QStyleOptionGraphicsItem*
     
     // Draw cross at center
     QPointF center = r.center();
-    painter->drawLine(center + QPointF(-6, 0), center + QPointF(6, 0));
-    painter->drawLine(center + QPointF(0, 6), center + QPointF(0, -6));
+    painter->drawLine(center + QPointF(-handle.width(), 0), center + QPointF(handle.width(), 0));
+    painter->drawLine(center + QPointF(0, handle.height()), center + QPointF(0, -handle.height()));
 }
 
 bool OnMonitorRectItem::getView()