+
+ disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingCanceled(int,QByteArray,QVariant)));
+ disconnect(m_roleEditor, SIGNAL(roleEditingFinished(int,QByteArray,QVariant)),
+ this, SLOT(slotRoleEditingFinished(int,QByteArray,QVariant)));
+ // Do not delete the role editor using deleteLater() because we might be
+ // inside a nested event loop which has been started by one of its event
+ // handlers (contextMenuEvent() or drag&drop inside mouseMoveEvent()).
+ m_roleEditor->deleteWhenIdle();