chatgui: detach file drop callbacks before composer child destruction

This commit is contained in:
evgeny committed 2026-10-06 19:06:37 +02:00
1 parent a175129f93
commit 348cd855b9
2 files changed
+12

No files matched your search

+11
View File
@@ -214,6 +214,17 @@ InputBar::InputBar(EmojiPanel *emojiPanel, AudioRecorder *recorder, QWidget *par
});
}
/* QWidget уничтожает дочерние viewport после полей InputBar: снимаем callbacks до их уничтожения. */
InputBar::~InputBar() {
GUI_DEBUG("InputBar: removing file drop targets count=%d", int(m_dropTargets.size()));
for (auto* target : m_dropTargets) {
target->removeEventFilter(this);
disconnect(target, nullptr, this, nullptr);
}
m_dropTargets.clear();
delete m_dropHint.data();
}
/* Qt доставляет drop в viewport, а не в QTextEdit/QListView. Родитель composer принимает drop на кнопках. */
void InputBar::installFileDropTarget(QWidget* target) {
if (!target || m_dropTargets.contains(target)) return;