From 5de9680955c2f6b19849c761e7793d0edc2bb990 Mon Sep 17 00:00:00 2001 From: Kai Sommerfeld Date: Mon, 20 May 2019 20:07:40 +0200 Subject: [PATCH] [interfaces] Fix crash on Kodi exit caused by double freed AsyncCallbackMessage. --- xbmc/interfaces/legacy/CallbackHandler.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/xbmc/interfaces/legacy/CallbackHandler.cpp b/xbmc/interfaces/legacy/CallbackHandler.cpp index 393566e953960..ac75cbae0933c 100644 --- a/xbmc/interfaces/legacy/CallbackHandler.cpp +++ b/xbmc/interfaces/legacy/CallbackHandler.cpp @@ -49,16 +49,13 @@ namespace XBMCAddon CallbackQueue::iterator iter = g_callQueue.begin(); while (iter != g_callQueue.end()) { - AddonClass::Ref cur(*iter); + if ((*iter)->handler.get() == this) // then this message is because of me { - if (cur->handler.get() == this) // then this message is because of me - { - g_callQueue.erase(iter); - iter = g_callQueue.begin(); - } - else - ++iter; + g_callQueue.erase(iter); + iter = g_callQueue.begin(); } + else + ++iter; } }