diff --git a/radio/src/gui/480x272/menus.h b/radio/src/gui/480x272/menus.h index 3a87fbbc4..02776029f 100644 --- a/radio/src/gui/480x272/menus.h +++ b/radio/src/gui/480x272/menus.h @@ -547,8 +547,10 @@ inline void POPUP_MENU_SELECT_ITEM(uint8_t index) inline void POPUP_MENU_START(PopupMenuHandler handler) { - popupMenuHandler = handler; - AUDIO_KEY_PRESS(); + if (handler != popupMenuHandler) { + AUDIO_KEY_PRESS(); + popupMenuHandler = handler; + } } inline void CLEAR_POPUP() diff --git a/radio/src/gui/common/stdlcd/popups.h b/radio/src/gui/common/stdlcd/popups.h index c68d3b2a1..4708a06c9 100644 --- a/radio/src/gui/common/stdlcd/popups.h +++ b/radio/src/gui/common/stdlcd/popups.h @@ -161,8 +161,10 @@ inline void POPUP_MENU_SELECT_ITEM(uint8_t index) inline void POPUP_MENU_START(PopupMenuHandler handler) { - popupMenuHandler = handler; - AUDIO_KEY_PRESS(); + if (handler != popupMenuHandler) { + AUDIO_KEY_PRESS(); + popupMenuHandler = handler; + } } #endif // _STDLCD_POPUPS_H_