From 76762169c359b381f70fa518daef09e76b0aefe3 Mon Sep 17 00:00:00 2001
From: Heinrich Fenkart <hnrch02@gmail.com>
Date: Tue, 9 Sep 2014 00:17:32 +0200
Subject: [PATCH] Properly fire hidden event when tooltip is destroyed

Fixes #13031.
---
 js/tooltip.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/js/tooltip.js b/js/tooltip.js
index 5192d38fca..1e10af27fe 100644
--- a/js/tooltip.js
+++ b/js/tooltip.js
@@ -281,7 +281,7 @@
     $tip.removeClass('fade in top bottom left right')
   }
 
-  Tooltip.prototype.hide = function () {
+  Tooltip.prototype.hide = function (callback) {
     var that = this
     var $tip = this.tip()
     var e    = $.Event('hide.bs.' + this.type)
@@ -291,6 +291,7 @@
       that.$element
         .removeAttr('aria-describedby')
         .trigger('hidden.bs.' + that.type)
+      callback && callback()
     }
 
     this.$element.trigger(e)
@@ -438,8 +439,11 @@
   }
 
   Tooltip.prototype.destroy = function () {
+    var that = this
     clearTimeout(this.timeout)
-    this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
+    this.hide(function () {
+      that.$element.off('.' + that.type).removeData('bs.' + that.type)
+    })
   }
 
 
-- 
GitLab