[ATSPI][SVACE] Fixes use of v variable after it was freed by eldbus_service_interface...
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / dali-toolkit-test-utils / dbus-wrapper.cpp
index d59df19..9011f2f 100644 (file)
@@ -666,9 +666,11 @@ struct DefaultDBusWrapper : public DBusWrapper {
       DBUS_DEBUG( "registering interface %p (%d)", v, fallback ? 1 : 0 );
       destructors.push_back([=]() {
         DBUS_DEBUG( "unregistering interface %p", v );
+        {
+          std::lock_guard< std::mutex > lock( globalEntriesMutex );
+          globalEntries.erase( v );
+        }
         eldbus_service_interface_unregister( v );
-        std::lock_guard< std::mutex > lock( globalEntriesMutex );
-        globalEntries.erase( v );
       });
     }
   }