Skip to content

Commit fa25d7d

Browse files
Fix duplicate subtitle widget in group call panel
The _subtitle.create() rpl chain calls setupMembers() synchronously during the FlatLabel constructor. setupMembers() triggers geometry updates that re-enter refreshTitle() while object_ptr::create() has not yet assigned the new widget to _subtitle, so a second subtitle is created and left as an orphaned visible child. Moving setupMembers() before _subtitle.create() ensures _members exists before the rpl chain fires, preventing the re-entrancy.
1 parent dc6b9dd commit fa25d7d

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
@@ -2792,6 +2792,9 @@ void Panel::refreshTitle() {
27922792
}
27932793
refreshTitleGeometry();
27942794
if (!_subtitle && mode() == PanelMode::Default) {
2795+
if (!_members) {
2796+
setupMembers();
2797+
}
27952798
_subtitle.create(
27962799
widget(),
27972800
rpl::single(

0 commit comments

Comments
 (0)