From: Jerome St-Louis Date: Fri, 29 Jul 2016 06:47:03 +0000 (-0400) Subject: ecere/com/Containers/CustomAVLTree: Fixed key class confusion caused by a47aec0a06c2c... X-Git-Tag: 0.44.15~92 X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?p=sdk;a=commitdiff_plain;h=a370f655eaa98068a0749842be64b85e76f451a1 ecere/com/Containers/CustomAVLTree: Fixed key class confusion caused by a47aec0a06c2cf299dac23efa877bc1908fe88d7 - NOTE: We may still need a compiler fix on 'delete' operator to use proper template arg (KT rather than BT) --- diff --git a/ecere/src/com/containers/CustomAVLTree.ec b/ecere/src/com/containers/CustomAVLTree.ec index 96fedd3..0dd34be 100644 --- a/ecere/src/com/containers/CustomAVLTree.ec +++ b/ecere/src/com/containers/CustomAVLTree.ec @@ -587,7 +587,12 @@ public: ((void (*)(void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnFree])(Tclass, (((byte *)&item.key) + __ENDIAN_PAD(sizeof(void *)))); } else - delete item.key; + { + // TOFIX: delete key; // This indexes the wrong templateArg (BT instead of KT) + KT k = item.key; + delete k; + item.key = (KT)0; + } } void Free()