From e2970c31cf573a0130706e40a2520e3249fa22d0 Mon Sep 17 00:00:00 2001 From: repojohnray <repojohnray@users.noreply.github.com> Date: Sun, 3 Jul 2022 18:45:17 +0200 Subject: [addons] add CStructHdl operator= support for 'A = A' This change fixes the issue described here: https://github.com/kodi-pvr/pvr.vdr.vnsi/pull/186 --- xbmc/addons/kodi-dev-kit/include/kodi/AddonBase.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xbmc/addons/kodi-dev-kit/include/kodi/AddonBase.h b/xbmc/addons/kodi-dev-kit/include/kodi/AddonBase.h index 880b8875ae..a626122042 100644 --- a/xbmc/addons/kodi-dev-kit/include/kodi/AddonBase.h +++ b/xbmc/addons/kodi-dev-kit/include/kodi/AddonBase.h @@ -133,6 +133,10 @@ public: const CStructHdl& operator=(const CStructHdl& right) { assert(&right.m_cStructure); + + if (this == &right) + return *this; + if (m_cStructure && !m_owner) { memcpy(m_cStructure, right.m_cStructure, sizeof(C_STRUCT)); @@ -150,6 +154,10 @@ public: const CStructHdl& operator=(const C_STRUCT& right) { assert(&right); + + if (m_cStructure == &right) + return *this; + if (m_cStructure && !m_owner) { memcpy(m_cStructure, &right, sizeof(C_STRUCT)); -- cgit v1.2.3