X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c2b4aa62c5e2d5e562010350cc3ca49002d9614f..9a47cf98658ea064ce5cb7ddbd5f22d4ecbc36ac:/lib/actions/action.cpp diff --git a/lib/actions/action.cpp b/lib/actions/action.cpp index cb9e5e05..0eb4cdb1 100644 --- a/lib/actions/action.cpp +++ b/lib/actions/action.cpp @@ -2,6 +2,7 @@ #include #include #include +#include /* @@ -149,9 +150,14 @@ void eActionMap::keyPressed(const std::string &device, int key, int flags) std::list call_list; /* iterate active contexts. */ - for (std::multimap::const_iterator c(m_bindings.begin()); + for (std::multimap::iterator c(m_bindings.begin()); c != m_bindings.end(); ++c) { + if (flags == eRCKey::flagMake) + c->second.m_prev_seen_make_key = key; + else if (c->second.m_prev_seen_make_key != key) // ignore repeat or break when the make code for this key was not visible + continue; + /* is this a native context? */ if (c->second.m_widget) {