Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • K KTextEditor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
  • Bugzilla
    • Bugzilla
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FrameworksFrameworks
  • KTextEditor
  • Merge requests
  • !36

Fix memory leak in KateMessageLayout

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Milian Wolff requested to merge work/fix-katemessagelayout-leaks into master Oct 17, 2020
  • Overview 2
  • Commits 1
  • Pipelines 0
  • Changes 2

Use a vector-of-values instead of a vector-of-pointers for no good reason. This is faster, uses less memory, and prevents leaks like this one:

=================================================================
==175053==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f9f407caf41 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7f9f405d2dc4 in KateMessageLayout::add(QLayoutItem*, KTextEditor::Message::MessagePosition) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/view/kateviewhelpers.cpp:145
    #2 0x7f9f405d2815 in KateMessageLayout::addWidget(QWidget*, KTextEditor::Message::MessagePosition) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/view/kateviewhelpers.cpp:87
    #3 0x7f9f405b3f20 in KTextEditor::ViewPrivate::postMessage(KTextEditor::Message*, QList<QSharedPointer<QAction> >) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/view/kateview.cpp:3673
    #4 0x7f9f404dface in KTextEditor::DocumentPrivate::postMessage(KTextEditor::Message*) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/document/katedocument.cpp:5911
    #5 0x55df19c6d620 in MessageTest::testAutoHide() /home/milian/projects/kf5/src/frameworks/ktexteditor/autotests/src/messagetest.cpp:77
    #6 0x7ffd039e7bbf  ([stack]+0x1fbbf)
    #7 0x55df19c68e82 in MessageTest::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) autotests/messagetest_autogen/UVLADIE3JM/moc_messagetest.cpp:85

Direct leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f9f407caf41 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7f9f405d2dc4 in KateMessageLayout::add(QLayoutItem*, KTextEditor::Message::MessagePosition) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/view/kateviewhelpers.cpp:145
    #2 0x7f9f405d2815 in KateMessageLayout::addWidget(QWidget*, KTextEditor::Message::MessagePosition) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/view/kateviewhelpers.cpp:87
    #3 0x7f9f405b3f20 in KTextEditor::ViewPrivate::postMessage(KTextEditor::Message*, QList<QSharedPointer<QAction> >) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/view/kateview.cpp:3673
    #4 0x7f9f404dface in KTextEditor::DocumentPrivate::postMessage(KTextEditor::Message*) /home/milian/projects/kf5/src/frameworks/ktexteditor/src/document/katedocument.cpp:5911
    #5 0x55df19c6a8a2 in MessageTest::testPostMessage() /home/milian/projects/kf5/src/frameworks/ktexteditor/autotests/src/messagetest.cpp:44
    #6 0x7ffd039e7bbf  ([stack]+0x1fbbf)
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: work/fix-katemessagelayout-leaks