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