D29427: [KBookmarkMenu] Assign m_actionCollection early to prevent crash

Ahmad Samir noreply at phabricator.kde.org
Mon May 4 20:33:40 BST 2020


ahmadsamir created this revision.
ahmadsamir added reviewers: Frameworks, dfaure.
Herald added a project: Frameworks.
ahmadsamir requested review of this revision.

REVISION SUMMARY
  The deprecated ctor that took a KActionCollection param called the new
  ctor (that doesn't take an actionCollection before) m_actionCollection was
  assigned. This caused the menu actions never to get added to the
  actionCollection as it was still nullptr. This caused crashes in
  applications that still use the deprecated ctor, e.g. this bug in
  konsole https://bugs.kde.org/show_bug.cgi?id=420820.
  
  Since we can't assign m_actionCollection in the initializer list because
  then the constructor delegation would follow a member initializer
  (info courtsey of the compiler), introduce a helper init method to
  reduce code duplication between the two ctor's.
  
  Thanks to Friedrich W. H. Kossebau for figuring it out
  https://phabricator.kde.org/D28800#663274.
  
  CCBUG: 420820

TEST PLAN
  make && ctest

REPOSITORY
  R294 KBookmarks

BRANCH
  l-bookmarkmenu-assign-actioncoll (branched from master)

REVISION DETAIL
  https://phabricator.kde.org/D29427

AFFECTED FILES
  src/kbookmarkmenu.cpp
  src/kbookmarkmenu.h

To: ahmadsamir, #frameworks, dfaure
Cc: kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20200504/22abf767/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list