浏览代码

pastojs: fixed freeing temp intf var if nil

git-svn-id: trunk@48155 -
Mattias Gaertner 4 年之前
父节点
当前提交
c21e777c85
共有 1 个文件被更改,包括 8 次插入3 次删除
  1. 8 3
      utils/pas2js/dist/rtl.js

+ 8 - 3
utils/pas2js/dist/rtl.js

@@ -739,15 +739,20 @@ var rtl = {
         delete this[id];
         old._Release(); // may fail
       }
-      this[id]=intf;
+      if(intf) {
+        this[id]=intf;
+      }
       return intf;
     },
     free: function(){
       //console.log('rtl.intfRefs.free...');
       for (var id in this){
         if (this.hasOwnProperty(id)){
-          //console.log('rtl.intfRefs.free: id='+id+' '+this[id].$name+' $o='+this[id].$o.$classname);
-          this[id]._Release();
+          var intf = this[id];
+          if (intf){
+            //console.log('rtl.intfRefs.free: id='+id+' '+intf.$name+' $o='+intf.$o.$classname);
+            intf._Release();
+          }
         }
       }
     }