Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
Qt Creator 9.0.0-beta2
-
None
-
08002c6278 (qt-creator/qt-creator/9.0) 08002c6278 (qt-creator/qt-creator/qds/dev) 08002c6278 (qt-creator/qt-creator/master)
Description
412 (256 direct, 156 indirect) bytes in 2 blocks are definitely lost in loss record 6,756 of 7,450 in TextEditor::TextEditorWidget::createAssistInterface(TextEditor::AssistKind, TextEditor::AssistReason) const in /home/jarek/dev/creator-9/src/plugins/texteditor/texteditor.cpp:8527 1: operator new(unsigned long) in ./coregrind/m_replacemalloc/vg_replace_malloc.c:422 2: TextEditor::TextEditorWidget::createAssistInterface(TextEditor::AssistKind, TextEditor::AssistReason) const in /home/jarek/dev/creator-9/src/plugins/texteditor/texteditor.cpp:8527 3: CppEditor::CppEditorWidget::createAssistInterface(TextEditor::AssistKind, TextEditor::AssistReason) const in /home/jarek/dev/creator-9/src/plugins/cppeditor/cppeditorwidget.cpp:1202 4: TextEditor::CodeAssistantPrivate::requestProposal(TextEditor::AssistReason, TextEditor::AssistKind, TextEditor::IAssistProvider*, bool) in /home/jarek/dev/creator-9/src/plugins/texteditor/codeassist/codeassistant.cpp:197 5: TextEditor::CodeAssistantPrivate::invoke(TextEditor::AssistKind, TextEditor::IAssistProvider*) in /home/jarek/dev/creator-9/src/plugins/texteditor/codeassist/codeassistant.cpp:143 6: TextEditor::CodeAssistant::invoke(TextEditor::AssistKind, TextEditor::IAssistProvider*) in /home/jarek/dev/creator-9/src/plugins/texteditor/codeassist/codeassistant.cpp:638 7: TextEditor::TextEditorWidget::invokeAssist(TextEditor::AssistKind, TextEditor::IAssistProvider*) in /home/jarek/dev/creator-9/src/plugins/texteditor/texteditor.cpp:8519 8: TextEditor::Internal::TextEditorPlugin::initialize(QList<QString> const&, QString*)::{lambda()#1}::operator()() const in /home/jarek/dev/creator-9/src/plugins/texteditor/texteditorplugin.cpp:109 9: QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, TextEditor::Internal::TextEditorPlugin::initialize(QList<QString> const&, QString*)::{lambda()#1}>::call(TextEditor::Internal::TextEditorPlugin::initialize(QList<QString> const&, QString*)::{lambda()#1}&, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:163 10: void QtPrivate::Functor<TextEditor::Internal::TextEditorPlugin::initialize(QList<QString> const&, QString*)::{lambda()#1}, 0>::call<QtPrivate::List<>, void>(TextEditor::Internal::TextEditorPlugin::initialize(QList<QString> const&, QString*)::{lambda()#1}&, void*, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:277 11: QtPrivate::QFunctorSlotObject<TextEditor::Internal::TextEditorPlugin::initialize(QList<QString> const&, QString*)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:444 12: QtPrivate::QSlotObjectBase::call(QObject*, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:399 13: void doActivate<false>(QObject*, int, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobject.cpp:3921 14: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobject.cpp:3981 15: QAction::triggered(bool) in /home/jarek/dev/qt-63-build/qtbase/src/gui/Gui_autogen/include/moc_qaction.cpp:504 16: QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (QAction::*)(bool)>::call(void (QAction::*)(bool), QAction*, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:171 17: void QtPrivate::FunctionPointer<void (QAction::*)(bool)>::call<QtPrivate::List<bool>, void>(void (QAction::*)(bool), QAction*, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:208 18: QtPrivate::QSlotObject<void (QAction::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:419 19: QtPrivate::QSlotObjectBase::call(QObject*, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:399 20: void doActivate<false>(QObject*, int, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobject.cpp:3921 21: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) in /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobject.cpp:3981 22: QAction::triggered(bool) in /home/jarek/dev/qt-63-build/qtbase/src/gui/Gui_autogen/include/moc_qaction.cpp:504 23: QAction::activate(QAction::ActionEvent) in /home/jarek/dev/qt-63/qtbase/src/gui/kernel/qaction.cpp:1132 24: QAction::event(QEvent*) in /home/jarek/dev/qt-63/qtbase/src/gui/kernel/qaction.cpp:1074 25: QApplicationPrivate::notify_helper(QObject*, QEvent*) in /home/jarek/dev/qt-63/qtbase/src/widgets/kernel/qapplication.cpp:3350
It looks like CodeAssistantPrivate::requestProposal() creates instances of assistInterface, but they are never deleted. Should they be deleted together with IAssistProcessor *processor instances?