From e6037286d7a04fbb9b038374d18308613d89c89c Mon Sep 17 00:00:00 2001
From: Tobias Markmann <tm@ayena.de>
Date: Tue, 31 Mar 2015 11:57:11 +0200
Subject: Disable signals when adding a tab to the trellis layout
Due ot the way Qt implements widgets and the events, the windowOpening
signal of a QtTabbable is emitted before the QtTabbable is a member of
a QTabWidget when adding a QtTabbable to a QTabWidget.
Disabling the signals when adding the widget will prevent these signals
to be called and will prevent and endlress recursion.
This has originally been reported by Pavol Babincak.
Test-Information:
Without this patch the reporter had Swift crash after a day or two.
With this patch the reporter does not experience the endless recursion
(crash) anymore.
Change-Id: I8b3d791d79e9ab8f42dd1a1cba30d118f620f15d
diff --git a/Swift/QtUI/QtChatTabs.cpp b/Swift/QtUI/QtChatTabs.cpp
index e869028..5aca804 100644
--- a/Swift/QtUI/QtChatTabs.cpp
+++ b/Swift/QtUI/QtChatTabs.cpp
@@ -169,7 +169,9 @@ void QtChatTabs::handleWidgetShown() {
handleTabTitleUpdated(widget);
return;
}
+ widget->blockSignals(true);
addTab(widget);
+ widget->blockSignals(false);
show();
}
--
cgit v0.10.2-6-g49f6