diff options
4 files changed, 8 insertions, 6 deletions
diff --git a/addons/kodi.peripheral/addon.xml b/addons/kodi.peripheral/addon.xml index 6a621a4a7f..d06ce0a57b 100644 --- a/addons/kodi.peripheral/addon.xml +++ b/addons/kodi.peripheral/addon.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<addon id="kodi.peripheral" version="1.0.22" provider-name="Team-Kodi"> +<addon id="kodi.peripheral" version="1.0.23" provider-name="Team-Kodi"> <backwards-compatibility abi="1.0.19"/> <requires> <import addon="xbmc.core" version="0.1.0"/> diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_types.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_types.h index 780f71eca7..4227ea98c0 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_types.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_types.h @@ -51,7 +51,7 @@ #endif /* current Peripheral API version */ -#define PERIPHERAL_API_VERSION "1.0.22" +#define PERIPHERAL_API_VERSION "1.0.23" /* min. Peripheral API version */ #define PERIPHERAL_MIN_API_VERSION "1.0.19" diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp index 83d543e75e..d9afbcecf6 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp @@ -638,9 +638,11 @@ namespace ADDON const std::string& Name(void) const { return m_name; } JOYSTICK_FEATURE_TYPE Type(void) const { return m_type; } + bool IsValid() const { return m_type != JOYSTICK_FEATURE_TYPE_UNKNOWN; } void SetName(const std::string& name) { m_name = name; } void SetType(JOYSTICK_FEATURE_TYPE type) { m_type = type; } + void SetInvalid(void) { m_type = JOYSTICK_FEATURE_TYPE_UNKNOWN; } // Scalar methods const DriverPrimitive& Primitive(void) const { return m_primitives[0]; } diff --git a/xbmc/peripherals/addons/AddonButtonMap.cpp b/xbmc/peripherals/addons/AddonButtonMap.cpp index 0733023c1e..b5abe46c2c 100644 --- a/xbmc/peripherals/addons/AddonButtonMap.cpp +++ b/xbmc/peripherals/addons/AddonButtonMap.cpp @@ -354,7 +354,7 @@ bool CAddonButtonMap::UnmapPrimitive(const CDriverPrimitive& primitive) { ADDON::JoystickFeature& addonFeature = itFeature->second; ResetPrimitive(addonFeature, CPeripheralAddonTranslator::TranslatePrimitive(primitive)); - if (addonFeature.Type() == JOYSTICK_FEATURE_TYPE_UNKNOWN) + if (!addonFeature.IsValid()) m_features.erase(itFeature); bModified = true; } @@ -372,7 +372,7 @@ void CAddonButtonMap::ResetPrimitive(ADDON::JoystickFeature& feature, const ADDO if (primitive == feature.Primitive()) { CLog::Log(LOGDEBUG, "Removing \"%s\" from button map due to conflict", feature.Name().c_str()); - feature.SetType(JOYSTICK_FEATURE_TYPE_UNKNOWN); + feature.SetInvalid(); } break; } @@ -409,7 +409,7 @@ void CAddonButtonMap::ResetPrimitive(ADDON::JoystickFeature& feature, const ADDO feature.Left().Type() == JOYSTICK_DRIVER_PRIMITIVE_TYPE_UNKNOWN) { CLog::Log(LOGDEBUG, "Removing \"%s\" from button map due to conflict", feature.Name().c_str()); - feature.SetType(JOYSTICK_FEATURE_TYPE_UNKNOWN); + feature.SetInvalid(); } } break; @@ -444,7 +444,7 @@ void CAddonButtonMap::ResetPrimitive(ADDON::JoystickFeature& feature, const ADDO feature.PositiveZ().Type() == JOYSTICK_DRIVER_PRIMITIVE_TYPE_UNKNOWN) { CLog::Log(LOGDEBUG, "Removing \"%s\" from button map due to conflict", feature.Name().c_str()); - feature.SetType(JOYSTICK_FEATURE_TYPE_UNKNOWN); + feature.SetInvalid(); } } break; |