Merge "Move free after CEngine_Destroyed."
diff --git a/src/itf/IObject.cpp b/src/itf/IObject.cpp
index befe939..adcc4b2 100644
--- a/src/itf/IObject.cpp
+++ b/src/itf/IObject.cpp
@@ -629,11 +629,10 @@
     // The mutex is unlocked and destroyed by IObject_deinit, which is the last deinitializer
     memset(thiz, 0x55, clazz->mSize); // catch broken applications that continue using interfaces
                                         // was ifdef USE_DEBUG but safer to do this unconditionally
-    free(thiz);
-
     if (SL_OBJECTID_ENGINE == clazz->mSLObjectID) {
         CEngine_Destroyed((CEngine *) thiz);
     }
+    free(thiz);
 
     SL_LEAVE_INTERFACE_VOID
 }