Skip to content

Commit ef08e31

Browse files
Fix duplicate subtitle widget in group call panel
Move setupMembers() before _subtitle.create() to prevent re-entrancy. The rpl chain inside _subtitle.create() can fire synchronously during FlatLabel construction, calling setupMembers() which triggers geometry updates that re-enter refreshTitle(). Since object_ptr::create() has not yet assigned the new widget, _subtitle appears null and a second subtitle is created.
1 parent 3116cd5 commit ef08e31

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

Telegram/SourceFiles/calls/group/calls_group_panel.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2901,6 +2901,9 @@ void Panel::refreshTitle() {
29012901
}
29022902
refreshTitleGeometry();
29032903
if (!_subtitle && mode() == PanelMode::Default) {
2904+
if (!_members) {
2905+
setupMembers();
2906+
}
29042907
_subtitle.create(
29052908
widget(),
29062909
rpl::single(

0 commit comments

Comments
 (0)