diff --git a/headers/private/media/TList.h b/headers/private/media/TList.h index d89e3327ba..e769fdd7be 100644 --- a/headers/private/media/TList.h +++ b/headers/private/media/TList.h @@ -68,8 +68,9 @@ public: return false; delete items[index]; item_count--; - for (int i = index; i < item_count; i++) - items[i] = items[i + 1]; + items[index] = items[item_count]; + if (index == item_iter) + item_iter--; return true; } diff --git a/headers/private/media/TMap.h b/headers/private/media/TMap.h index dfabce7e06..3a6f2c9f09 100644 --- a/headers/private/media/TMap.h +++ b/headers/private/media/TMap.h @@ -150,8 +150,9 @@ private: return false; delete items[index]; item_count--; - for (int i = index; i < item_count; i++) - items[i] = items[i + 1]; + items[index] = items[item_count]; + if (index == item_iter) + item_iter--; return true; }