dfaure created this revision.
dfaure added reviewers: kossebau, mart, davidedmundson.
Herald added a project: Frameworks.
Herald added a subscriber: kde-frameworks-devel.
dfaure requested review of this revision.

REVISION SUMMARY
  removed() is deprecated since 5.0 because the code has to downcast a partially
  destroyed QObject back to a QAction (from the slot connected to
  destroyed()). This is very dangerous, calling QAction methods will just
  crash.
  
  plasma-framework/src/scriptengines/qml/plasmoid/containmentinterface.cpp
  is using that removed() signal, but doesn't care about the argument,
  it's connecting both inserted() and removed() to a generic changed
  signal used to notify QML.
  
  For this use case, all we need in KActionCollection is a changed() signal
  with no argument, emitted for both insertion and removal.
  
  This makes me wonder if inserted() still is useful at all, but well, it
  doesn't hurt to keep it.

TEST PLAN
  Builds, new test method passes

REPOSITORY
  R263 KXmlGui

BRANCH
  master

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

AFFECTED FILES
  autotests/kactioncollectiontest.cpp
  autotests/kactioncollectiontest.h
  src/kactioncollection.cpp
  src/kactioncollection.h

To: dfaure, kossebau, mart, davidedmundson
Cc: kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns

Reply via email to