diff options
author | Eugene Sandulenko | 2009-05-10 22:05:04 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2009-05-10 22:05:04 +0000 |
commit | 665e472ef0bf9cd38c92ebe58975cbda74241a07 (patch) | |
tree | 38fb4c993d827b9250441b315ae2940e73298eeb /backends/keymapper/keymapper.cpp | |
parent | 7604301c30553828cae69ea69acf8fde057ac5c2 (diff) | |
download | scummvm-rg350-665e472ef0bf9cd38c92ebe58975cbda74241a07.tar.gz scummvm-rg350-665e472ef0bf9cd38c92ebe58975cbda74241a07.tar.bz2 scummvm-rg350-665e472ef0bf9cd38c92ebe58975cbda74241a07.zip |
Keymapper:
- Introduced new OSystem method getHardwareKeySet() with default implementation
- Moved global keymap creation to base/main.cpp
- Moved GUI keymap creation to gui/GuiManager.cpp
- Added various safeguard checks to various keymapper methods
Now it is really possible to add keymapper to all backends.
svn-id: r40439
Diffstat (limited to 'backends/keymapper/keymapper.cpp')
-rw-r--r-- | backends/keymapper/keymapper.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/backends/keymapper/keymapper.cpp b/backends/keymapper/keymapper.cpp index 25a8a64301..4668d34421 100644 --- a/backends/keymapper/keymapper.cpp +++ b/backends/keymapper/keymapper.cpp @@ -71,6 +71,11 @@ void Keymapper::registerHardwareKeySet(HardwareKeySet *keys) { if (_hardwareKeys) error("Hardware key set already registered!"); + if (!keys) { + warning("No hardware keys are supplied"); + return; + } + _hardwareKeys = keys; } @@ -93,6 +98,11 @@ void Keymapper::addGameKeymap(Keymap *keymap) { } void Keymapper::initKeymap(Domain &domain, Keymap *map) { + if (!_hardwareKeys) { + warning("No hardware keys were registered yet (%s)", map->getName().c_str()); + return; + } + map->setConfigDomain(domain.getConfigDomain()); map->loadMappings(_hardwareKeys); |