diff options
author | Chad Austin <chad@imvu.com> | 2014-05-08 21:52:21 -0700 |
---|---|---|
committer | Bruce Mitchener <bruce.mitchener@gmail.com> | 2014-05-21 22:59:01 +0700 |
commit | 3147a2175cc90c1ceca368979bad72870b02561b (patch) | |
tree | a502276fa160ddf7937782ffd05a6c3ce47d0149 /src | |
parent | c75048adf764b9f14ed7a91dc46dfaee66dcbf3a (diff) |
handle some scenarios where you mix delete() and deleteLater()
Diffstat (limited to 'src')
-rw-r--r-- | src/embind/embind.js | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/embind/embind.js b/src/embind/embind.js index f9bfa9e8..27fa87b8 100644 --- a/src/embind/embind.js +++ b/src/embind/embind.js @@ -1322,8 +1322,7 @@ ClassHandle.prototype['delete'] = function ClassHandle_delete() { throwInstanceAlreadyDeleted(this); } - // TODO: test for multiple deleteLater() on JS instance handle - if (this.$$.deleteScheduled) { + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); } @@ -1348,7 +1347,7 @@ ClassHandle.prototype['deleteLater'] = function deleteLater() { if (!this.$$.ptr) { throwInstanceAlreadyDeleted(this); } - if (this.$$.deleteScheduled) { + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { throwBindingError('Object already scheduled for deletion'); } deletionQueue.push(this); |