From 63ddad98f5594f445a8998730c19890707e7cea9 Mon Sep 17 00:00:00 2001
From: Jakub Grzesik <kubecz3k@gmail.com>
Date: Sat, 5 Aug 2017 17:56:00 +0200
Subject: [PATCH] 'tab_changed' signal after using 'set_current_tab'

closes #10051
---
 scene/gui/tabs.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scene/gui/tabs.cpp b/scene/gui/tabs.cpp
index 24eb19fbc25..a2deef4eea8 100644
--- a/scene/gui/tabs.cpp
+++ b/scene/gui/tabs.cpp
@@ -226,7 +226,6 @@ void Tabs::_gui_input(const Ref<InputEvent> &p_event) {
 		if (found != -1) {
 
 			set_current_tab(found);
-			emit_signal("tab_changed", found);
 		}
 	}
 }
@@ -419,6 +418,7 @@ int Tabs::get_tab_count() const {
 
 void Tabs::set_current_tab(int p_current) {
 
+	if (current == p_current) return;
 	ERR_FAIL_INDEX(p_current, get_tab_count());
 
 	current = p_current;
@@ -426,6 +426,8 @@ void Tabs::set_current_tab(int p_current) {
 	_change_notify("current_tab");
 	_update_cache();
 	update();
+
+	emit_signal("tab_changed", p_current);
 }
 
 int Tabs::get_current_tab() const {