diff --git a/plugins/base/macro-condition-process.cpp b/plugins/base/macro-condition-process.cpp index af608001..b04a800b 100644 --- a/plugins/base/macro-condition-process.cpp +++ b/plugins/base/macro-condition-process.cpp @@ -156,6 +156,15 @@ void MacroConditionProcessEdit::ProcessChanged(const QString &text) QString::fromStdString(_entryData->GetShortDesc())); } +void MacroConditionProcessEdit::showEvent(QShowEvent *event) +{ + const QSignalBlocker b(_processSelection); + const auto text = _processSelection->currentText(); + _processSelection->clear(); + PopulateProcessSelection(_processSelection); + _processSelection->setCurrentText(text); +} + void MacroConditionProcessEdit::RegexChanged(const RegexConfig &conf) { if (_loading || !_entryData) { diff --git a/plugins/base/macro-condition-process.hpp b/plugins/base/macro-condition-process.hpp index 6b85645f..fc0a9be5 100644 --- a/plugins/base/macro-condition-process.hpp +++ b/plugins/base/macro-condition-process.hpp @@ -47,6 +47,9 @@ public: std::dynamic_pointer_cast(cond)); } +protected: + void showEvent(QShowEvent *event) override; + private slots: void ProcessChanged(const QString &text); void RegexChanged(const RegexConfig &);