Noticed some more problems in older (albeit unsupported) browsers

This commit is contained in:
Jeff 2016-10-26 13:25:02 -07:00 committed by Jeff Parsons
commit 8e1dd595ec
3 changed files with 21 additions and 2 deletions

View file

@ -3461,7 +3461,10 @@ ChipSet.prototype.advanceDMA = function(channel, fInit)
}
if (!channel.masked) {
chipset.bus.setByte(addrCur, b);
if (BACKTRACK) {
/*
* WARNING: Do NOT assume that obj is valid; if the sector data was not found, there will be no obj.
*/
if (BACKTRACK && obj) {
if (!off && obj.file) {
if (chipset.messageEnabled(Messages.DISK)) {
chipset.printMessage("loading " + obj.file.sPath + '[' + obj.offFile + "] at %" + str.toHex(addrCur), true);

View file

@ -470,7 +470,14 @@ FDC.prototype.setBinding = function(sHTMLType, sBinding, control, sValue)
}
});
for (i = 0; i < aOptions.length; i++) {
control.options[i] = aOptions[i];
try {
/*
* TODO: Determine why this line blows up in IE8; are the properties of an options object not settable in IE8?
*/
control.options[i] = aOptions[i];
} catch(e) {
break;
}
}
}

View file

@ -1077,6 +1077,15 @@ if (!Array.prototype.indexOf) {
}
}
/*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
*/
if (!Array.isArray) {
Array.isArray = function (arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
};
}
/*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
*/