Skip to content

Commit b77f35f

Browse files
SlexAxtonrxaviers
authored andcommitted
Date: Fix leaking handler
In certain situations we weren't always cleaning up an event handler for date formatting. This commit ensures that we do.
1 parent f08cb15 commit b77f35f

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/date.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ Globalize.prototype.dateFormatter = function( options ) {
164164
Globalize.dateToPartsFormatter =
165165
Globalize.prototype.dateToPartsFormatter = function( options ) {
166166
var args, cldr, numberFormatters, pad, pattern, properties, returnFn,
167-
timeZone;
167+
timeZone, ianaListener;
168168

169169
validateParameterTypePlainObject( options, "options" );
170170

@@ -184,14 +184,15 @@ Globalize.prototype.dateToPartsFormatter = function( options ) {
184184

185185
cldr.on( "get", validateRequiredCldr );
186186
if ( timeZone ) {
187-
cldr.on( "get", validateRequiredIana( timeZone ) );
187+
ianaListener = validateRequiredIana( timeZone );
188+
cldr.on( "get", ianaListener );
188189
}
189190
pattern = dateExpandPattern( options, cldr );
190191
validateOptionsSkeleton( pattern, options.skeleton );
191192
properties = dateFormatProperties( pattern, cldr, timeZone );
192193
cldr.off( "get", validateRequiredCldr );
193-
if ( timeZone ) {
194-
cldr.off( "get", validateRequiredIana( timeZone ) );
194+
if ( ianaListener ) {
195+
cldr.off( "get", ianaListener );
195196
}
196197

197198
// Create needed number formatters.

0 commit comments

Comments
 (0)