implement @iangilman 's fix

This commit is contained in:
Joe DF 2022-09-17 17:10:03 +02:00
parent 7497b83525
commit 6d74b684ec

View File

@ -1101,8 +1101,13 @@ function OpenSeadragon( options ){
if ( options !== null || options !== undefined ) {
// Extend the base object
for ( name in options ) {
src = target[ name ];
copy = Object.getOwnPropertyDescriptor(options, name).value;
var descriptor = Object.getOwnPropertyDescriptor(options, name);
if (descriptor.get || descriptor.set) {
Object.defineProperty(target, name, descriptor);
continue;
}
copy = descriptor.value;
// Prevent never-ending loop
if ( target === copy ) {
@ -1111,6 +1116,8 @@ function OpenSeadragon( options ){
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( OpenSeadragon.isPlainObject( copy ) || ( copyIsArray = OpenSeadragon.isArray( copy ) ) ) ) {
src = target[ name ];
if ( copyIsArray ) {
copyIsArray = false;
clone = src && OpenSeadragon.isArray( src ) ? src : [];