Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit fe3b22c

Browse files
Merge pull request #6503 from livecodeian/bugfix-21155
[[ Bug 21155 ]] Fix JS error when closing stack window
2 parents 797c2fa + d80b77c commit fe3b22c

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

docs/notes/bugfix-21155.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Fix JavaScript error when closing stack window in HTML5 standalone

engine/src/em-dc.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,12 @@ mergeInto(LibraryManager.library, {
135135
},
136136

137137
destroyWindow: function(pID) {
138-
LiveCodeDC.setWindowVisible(pID, false);
139-
LiveCodeDC.raiseWindow(pID);
140138
var window = LiveCodeUtil.fetchObject(pID);
141139
if (window)
142140
{
143-
window.element.removeChild(window.container.element);
144141
LiveCodeDC._removeResizeMonitor(window.canvas);
145-
142+
LiveCodeDC.setWindowVisible(pID, false);
143+
146144
if (window.mainWindow)
147145
{
148146
// TODO - handle cleanup of embedded canvas
@@ -332,9 +330,13 @@ mergeInto(LibraryManager.library, {
332330

333331
_removeResizeMonitor: function(element) {
334332
if (LiveCodeDC._monitorResize.watched) {
335-
var index = LiveCodeDC._monitorResize.watched.indexOf(element);
336-
if (index !== -1) {
337-
LiveCodeDC._monitorResize.watched.splice(index, 1);
333+
var index = 0;
334+
while (index < LiveCodeDC._monitorResize.watched.length)
335+
{
336+
if (LiveCodeDC._monitorResize.watched[index].element === element)
337+
LiveCodeDC._monitorResize.watched.splice(index, 1);
338+
else
339+
index++;
338340
}
339341
}
340342
},

0 commit comments

Comments
 (0)