从另一个创建一个事件 - 我有内存泄漏吗?

时间:2016-03-17 22:57:33

标签: c++ qt memory-management qevent

谁负责管理活动?

以下代码:

bool MyView::gestureEvent(QGestureEvent *event)
{
    if (QGesture *hold = event->gesture(Qt::TapAndHoldGesture))
        holdTriggered(static_cast<QTapAndHoldGesture *>(hold));
    return true;
}

void MyView::holdTriggered(QTapAndHoldGesture *event)
{
    QPoint currentTouchPointPos = event->position().toPoint();
    QContextMenuEvent *event1 = new QContextMenuEvent(
                QContextMenuEvent::Mouse, currentTouchPointPos,
                currentTouchPointPos, Qt::NoModifier);
    QGraphicsView::contextMenuEvent(event1);
}

我在Valgrind下运行它,它告诉我我有内存泄漏。

哪个是泄漏,eventevent1

我应该删除其中一个,还是两个都删除?或者我需要接受还是忽略它们?

(我尝试删除event1,因为它是我创建的那个,而Valgrind仍然说我有内存泄漏;但是event真的从调用方传递,所以我不应该触摸它,我想 - 甚至关于event1我不确定 - 不会发送给QGraphicsView照顾它吗?)

0 个答案:

没有答案