From e28f7ae984726045f2c2e573952afe68531ef47a Mon Sep 17 00:00:00 2001 From: Yohan Boniface Date: Mon, 26 Sep 2016 15:40:51 +0200 Subject: [PATCH] Do not fail when closing an interactive tooltip not yet added to the map (#4937) --- spec/suites/layer/TooltipSpec.js | 6 ++++++ src/layer/Layer.Tooltip.js | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/spec/suites/layer/TooltipSpec.js b/spec/suites/layer/TooltipSpec.js index f32e3fe9c..b049d81cc 100644 --- a/spec/suites/layer/TooltipSpec.js +++ b/spec/suites/layer/TooltipSpec.js @@ -287,5 +287,11 @@ describe('Tooltip', function () { map.openTooltip('Tooltip', center); }); + it("can call closeTooltip while not on the map", function () { + var layer = new L.Marker(center); + layer.bindTooltip('Tooltip', {interactive: true}); + layer.closeTooltip(); + }); + }); diff --git a/src/layer/Layer.Tooltip.js b/src/layer/Layer.Tooltip.js index 50710ad97..09c5a1519 100644 --- a/src/layer/Layer.Tooltip.js +++ b/src/layer/Layer.Tooltip.js @@ -121,7 +121,7 @@ L.Layer.include({ closeTooltip: function () { if (this._tooltip) { this._tooltip._close(); - if (this._tooltip.options.interactive) { + if (this._tooltip.options.interactive && this._tooltip._container) { L.DomUtil.removeClass(this._tooltip._container, 'leaflet-clickable'); this.removeInteractiveTarget(this._tooltip._container); }