summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-03-31 09:57:11 (GMT)
committerTobias Markmann <tm@ayena.de>2015-03-31 09:57:11 (GMT)
commite6037286d7a04fbb9b038374d18308613d89c89c (patch)
treea631e6ecf0e1bed7ab1348abd21d64d47e9a7e35
parent692db2695485697a62729e5a6188e033e076c20d (diff)
downloadswift-e6037286d7a04fbb9b038374d18308613d89c89c.zip
swift-e6037286d7a04fbb9b038374d18308613d89c89c.tar.bz2
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
-rw-r--r--Swift/QtUI/QtChatTabs.cpp2
1 files changed, 2 insertions, 0 deletions
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();
}