From ed637b04d75e4ebd6ea523f23e6dee7f64b68145 Mon Sep 17 00:00:00 2001 From: Michał Gołębiowski-Owczarek Date: Fri, 19 Nov 2021 00:47:56 +0100 Subject: Widget: Make contextless widget construction work Due to the fact the widget factory code is now in strict mode, the check for being called without using the `new` keyword started breaking if you save the widget constructor to a variable before calling it: ```js var customWidget = $.custom.customWidget; customWidget( {}, elem ); ``` as then `this` is undefined and checking for `this._createWidget` crashes. Account for that with an additional check. Fixes gh-2015 Closes gh-2019 --- ui/widget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ui') diff --git a/ui/widget.js b/ui/widget.js index 3b149f11a..04daaa883 100644 --- a/ui/widget.js +++ b/ui/widget.js @@ -77,7 +77,7 @@ $.widget = function( name, base, prototype ) { constructor = $[ namespace ][ name ] = function( options, element ) { // Allow instantiation without "new" keyword - if ( !this._createWidget ) { + if ( !this || !this._createWidget ) { return new constructor( options, element ); } -- cgit v1.2.3