aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/kodi.peripheral/addon.xml2
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_types.h2
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp2
-rw-r--r--xbmc/peripherals/addons/AddonButtonMap.cpp8
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;