D24413: Fix Increase/Decrease Volume shortcuts

Wolfgang Bauer noreply at phabricator.kde.org
Mon Oct 21 21:29:31 BST 2019


wbauer added a comment.


  In D24413#550948 <https://phabricator.kde.org/D24413#550948>, @heikobecker wrote:
  
  > I'm always easy to confuse about pointers and const, but isn't ec a const pointer to a const object? So calling ec->increaseVolume() as a non-const function) wouldn't really work outside a lambda either.
  
  
  Yes, exactly. Adding a line `ec->increaseVolume();` at that place gives the same compiler error:
  
    /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20191004T143525~5ed62f9a08/src/MainWindow.cpp: In member function 'void MainWindow::createActions()':
    /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20191004T143525~5ed62f9a08/src/MainWindow.cpp:904:24: error: passing 'const EngineController' as 'this' argument discards qualifiers [-fpermissive]
         ec->increaseVolume();
                            ^
  
  
  
  > What I'm not sure about is why it was done that way and why it does work with the new style connects.
  
  Apparently Qt's connect stuff "circumvents" the constness. It's not as if the function is actually being called here.
  
  I can't say why `ec` was declared const, but it was already the case in the KDE4 version (and it was no problem because it is only used to connect things to, with the old-style connect this particular issue with default arguments didn't exist either).
  
  Shall I just remove the const from ec then and connect to a lambda instead?

REPOSITORY
  R181 Amarok

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

To: wbauer, #amarok, schweingruber
Cc: heikobecker, schweingruber, ognarb, amarok-devel, #amarok
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20191021/4b440084/attachment.html>


More information about the Amarok-devel mailing list