Review Request 118914: [klipper] Fix memory leaks
Martin Gräßlin
mgraesslin at kde.org
Tue Jun 24 11:35:38 UTC 2014
On June 24, 2014, 12:50 p.m., Martin Gräßlin wrote:
> > Option 1:
> > you make insert have a HistoryItem return value, for duplicates you return the original
> >
> > Option 2:
> > We make history item implicitly shared and stop passing pointers all over the place
both would be a rather invasive change I wouldn't want to do that late in the cycle. For 5.1 I will completely rework Klipper and already started to use QSharedPointer.
- Martin
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118914/#review60888
-----------------------------------------------------------
On June 24, 2014, 12:29 p.m., Martin Gräßlin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118914/
> -----------------------------------------------------------
>
> (Updated June 24, 2014, 12:29 p.m.)
>
>
> Review request for Plasma.
>
>
> Repository: plasma-workspace
>
>
> Description
> -------
>
> [klipper] Fix memory leaks
>
> Klipper is leaking HistoryItems. This can happen in two cases:
> * inserting when the item already exists - nobody deleted the new item
> * removing items from the history
>
> The ownership of HistoryItems are clearly passed to the History as we
> can see by the fact that it deletes all items in the dtor. This means
> ownership is passed to History.
>
> For inserting it is relatively simple as most usage is just creating
> a new item and inserting it. Removing is more difficult as it takes
> the item and the callee might still be using it. This needs some
> testing.
>
>
> Diffs
> -----
>
> klipper/history.cpp 24e2ef4cf9784bcf23b8629cf4442fc90324dd8b
> klipper/klipper.h 1dd520fce258e2cb147bcf6a1d83891cc56a9d73
> klipper/klipper.cpp 2d6168e8517a9be23d42bb619e7c85d94d141e1b
> klipper/urlgrabber.cpp 38e4919814fa633c78f3956d94b655c6c23d8fcc
>
> Diff: https://git.reviewboard.kde.org/r/118914/diff/
>
>
> Testing
> -------
>
> valgrind on a unit test I'm writing and all mem leaks fixed. Still need to properly test it for regressions.
>
>
> Thanks,
>
> Martin Gräßlin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140624/06fe42ad/attachment.html>
More information about the Plasma-devel
mailing list