diff --git a/documentation/qthelp/qthelpdocumentation.cpp b/documentation/qthelp/qthelpdocumentation.cpp --- a/documentation/qthelp/qthelpdocumentation.cpp +++ b/documentation/qthelp/qthelpdocumentation.cpp @@ -266,24 +266,24 @@ if (!view) return; - QMenu menu(view); - QAction* copyAction = view->copyAction(); - copyAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-copy"))); - menu.addAction(copyAction); + auto menu = view->createStandardContextMenu(); if (m_info.count() > 1) { - menu.addSeparator(); + if (!menu->isEmpty()) { + menu->addSeparator(); + } - QActionGroup* actionGroup = new QActionGroup(&menu); + QActionGroup* actionGroup = new QActionGroup(menu); foreach(const QString& name, m_info.keys()) { QtHelpAlternativeLink* act=new QtHelpAlternativeLink(name, this, actionGroup); act->setCheckable(true); act->setChecked(name==m_current.key()); - menu.addAction(act); + menu->addAction(act); } } - menu.exec(view->mapToGlobal(pos)); + menu->setAttribute(Qt::WA_DeleteOnClose); + menu->exec(view->mapToGlobal(pos)); }