Not sure if this a bug, but here we go. QGraphicsProxyWidget::contextMenuEvent has the following easy out check,
void QGraphicsProxyWidget::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
if (!event || !d->widget || !d->widget->isVisible() || !hasFocus())
The QGraphicsSceneContextMenuEvent that is passed in defaults to accepted. If you return immediately, should not the proxy then ignore the event?
I think so, yes, though of course you can't change the event if the first condition is the condition that triggers the call :-)