diff --git a/src/widget/wtrackproperty.cpp b/src/widget/wtrackproperty.cpp index f8b6a60b1b9..0b5f574e635 100644 --- a/src/widget/wtrackproperty.cpp +++ b/src/widget/wtrackproperty.cpp @@ -365,8 +365,13 @@ bool WTrackPropertyEditor::eventFilter(QObject* pObj, QEvent* pEvent) { } else if (pEvent->type() == QEvent::FocusOut) { // Close and commit if any other widget gets focus if (isVisible()) { - hide(); - emit commitEditorData(text()); + QFocusEvent* fe = static_cast(pEvent); + // For any FocusOut, except when showing the QLineEdit's menu, + // we hide() and commit the current text. + if (fe->reason() != Qt::PopupFocusReason) { + hide(); + emit commitEditorData(text()); + } } } return QLineEdit::eventFilter(pObj, pEvent);