diff --git a/microscript/ILibDuktape_EncryptionStream.c b/microscript/ILibDuktape_EncryptionStream.c index edbd0b3..093a42b 100644 --- a/microscript/ILibDuktape_EncryptionStream.c +++ b/microscript/ILibDuktape_EncryptionStream.c @@ -229,6 +229,7 @@ duk_ret_t ILibDuktape_EncryptionStream_generateRandom(duk_context *ctx) duk_push_fixed_buffer(ctx, duk_require_int(ctx, 0)); buffer = Duktape_GetBuffer(ctx, -1, &bufferLen); util_random((int)bufferLen, buffer); + duk_push_buffer_object(ctx, -1, 0, bufferLen, DUK_BUFOBJ_NODEJS_BUFFER); return 1; } void ILibDuktape_EncryptionStream_PUSH(duk_context *ctx, void *chain) diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index e038407..9aa58ff 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2230,7 +2230,7 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) duk_peval_string_noresult(ctx, "addCompressedModule('clipboard', Buffer.from('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', 'base64'));"); // Promise: This is very important, as it is used everywhere. Refer to /modules/promise.js to see a human readable version of promise.js - duk_peval_string_noresult(ctx, "addCompressedModule('promise', Buffer.from('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', 'base64'));"); + duk_peval_string_noresult(ctx, "addCompressedModule('promise', Buffer.from('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', 'base64'));"); #ifdef WIN32 // Adding win-registry, since it is very useful for windows... Refer to /modules/win-registry.js to see a human readable version diff --git a/modules/promise.js b/modules/promise.js index b37454a..2c7989d 100644 --- a/modules/promise.js +++ b/modules/promise.js @@ -225,7 +225,31 @@ function Promise(promiseFunc) var retVal = new Promise(function (r, j) { this._rej = j; }); retVal._internal._haltUncaught = true; - this._internal.once('resolved', retVal._internal.resolver); + + if (this._internal.completed) + { + // This promise was already resolved, so lets check if the handler returned a promise + var rv = this._internal.emit_returnValue('resolved'); + if(rv!=null) + { + if(rv._ObjectID == 'promise') + { + rv._internal.once('resolved', retVal._internal.resolver); + } + else + { + retVal._internal.resolver(rv); + } + } + else + { + this._internal.once('resolved', retVal._internal.resolver); + } + } + else + { + this._internal.once('resolved', retVal._internal.resolver); + } this._internal.once('rejected', retVal._internal.rejector); retVal.parentPromise = this; this.__childPromise = retVal;