Кто отвечает за управление событиями?
Для следующего кода:
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, и он сказал мне, что у меня утечка памяти.
Какая утечка, event
или же event1
?
Должен ли я удалить один из них или оба? Или мне нужно принять или игнорировать их?
(Я пытался удалить event1
потому что это тот, который я создал, а Вальгринд все еще говорил, что у меня утечка памяти; но event
действительно передается от абонента, поэтому я не должен касаться его, я думаю — и даже о event1
Я не уверен — не буду отправлять его QGraphicsView
заботиться о нем ?)
Задача ещё не решена.
Других решений пока нет …