diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-07-12 14:44:34 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-07-12 14:44:34 +0000 |
| commit | 1faa7be4df1726873b4af5ff82ea06404977d065 (patch) | |
| tree | 42afb6863242e1cc007eb0da7c2be3711776eef6 /lib/actions/action.cpp | |
| parent | 3da7d7fcbaaaa6bff573893501e297488548e369 (diff) | |
| download | enigma2-1faa7be4df1726873b4af5ff82ea06404977d065.tar.gz enigma2-1faa7be4df1726873b4af5ff82ea06404977d065.zip | |
ignore break or repeat when the make code for this key was not visible
Diffstat (limited to 'lib/actions/action.cpp')
| -rw-r--r-- | lib/actions/action.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
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 <lib/base/init.h> #include <lib/base/init_num.h> #include <lib/actions/actionids.h> +#include <lib/driver/rc.h> /* @@ -149,9 +150,14 @@ void eActionMap::keyPressed(const std::string &device, int key, int flags) std::list<call_entry> call_list; /* iterate active contexts. */ - for (std::multimap<int,eActionBinding>::const_iterator c(m_bindings.begin()); + for (std::multimap<int,eActionBinding>::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) { |
