<table><tr><td style="">hallas added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D14666">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D14666#304848" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D14666#304848</a>, <a href="https://phabricator.kde.org/p/dfaure/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@dfaure</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Why shared? I don't see any ownership sharing happening. The list owns the pointers. I'm always wary of shared_ptr because it's often overused as "we don't really know who's responsible for deleting this, so let's just refcount it". But there's no refcounting needed here. The ownership is very clear here.</p></div>
</blockquote>

<p>My first approach was to use unique_ptr, but then I realized that pointers are shared between the defaultList and the itemMapper (see for example line 164) and also between the itemList and the itemMapper (see line 278, 291 and others), but I can't see any sharing between the defaultList and itemList. I thought of using a std::weak_ptr in the itemMapper, but I am not sure that entries are always removed from itemMapper when the are removed from the defaultList or itemMapper, also if the itemMapper should be able to hold objects from both lists I think it is more sane to use a shared_ptr.</p>

<p>Let me know what you think</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R241 KIO</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D14666">https://phabricator.kde.org/D14666</a></div></div><br /><div><strong>To: </strong>hallas, dfaure<br /><strong>Cc: </strong>dfaure, kde-frameworks-devel, michaelh, ngraham, bruns<br /></div>