Review Request 127795: [DataEngine] Fix memory leak and possible crash + detailed test

Anthony Fieroni bvbfan at abv.bg
Mon May 2 16:47:59 UTC 2016



> On Май 2, 2016, 7:33 след обяд, David Edmundson wrote:
> > src/plasma/dataengine.cpp, line 573
> > <https://git.reviewboard.kde.org/r/127795/diff/3/?file=462320#file462320line573>
> >
> >     Deleting an object auotmatically disconnects it
> >     
> >     This seems like a terrible thing to do.

It's written in that style. Leak is a line below :)


> On Май 2, 2016, 7:33 след обяд, David Edmundson wrote:
> > src/plasma/dataengine.cpp, line 419
> > <https://git.reviewboard.kde.org/r/127795/diff/3/?file=462320#file462320line419>
> >
> >     Why?

Because it's depend of KPluginInfo, line 425, when KPluginInfo does not know that plugin, this is something *really* not valid, about me.


> On Май 2, 2016, 7:33 след обяд, David Edmundson wrote:
> > src/plasma/dataengine.cpp, line 415
> > <https://git.reviewboard.kde.org/r/127795/diff/3/?file=462320#file462320line415>
> >
> >     This (and the following changes) accomplish absolutely nothing!
> >     
> >     previously. It started on -1, went down on refs, went up on refs. 
> >     The only other usage is isUsed() which compares it to zero.
> >     
> >     You've just switched the logic from negative to positive.
> >     
> >     Whilst I agree yours makes far more sense, given you haven't mentioned it, it seem like you're just changing things at random without understanding it.

I change it to 0, at first, but i saw, after that, loading engine can be make it without manager to know. For me it's a broken design. I can revert manager changes, at last.


> On Май 2, 2016, 7:33 след обяд, David Edmundson wrote:
> > src/plasma/datacontainer.cpp, line 262
> > <https://git.reviewboard.kde.org/r/127795/diff/3/?file=462319#file462319line262>
> >
> >     why check storage is not null?
> >     
> >     if storageCount > 1 and storage is null we have a huge bug elsewhere.

So this *can* dangerous, if job emit twice. It's complex.


- Anthony


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127795/#review95092
-----------------------------------------------------------


On Май 2, 2016, 5:20 след обяд, Anthony Fieroni wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127795/
> -----------------------------------------------------------
> 
> (Updated Май 2, 2016, 5:20 след обяд)
> 
> 
> Review request for KDE Frameworks and Marco Martin.
> 
> 
> Repository: plasma-framework
> 
> 
> Description
> -------
> 
> ^^
> 
> 
> Diffs
> -----
> 
>   autotests/pluginloadertest.h 61fc963 
>   autotests/pluginloadertest.cpp 4f96780 
>   src/plasma/datacontainer.cpp ee067db 
>   src/plasma/dataengine.cpp f942926 
>   src/plasma/private/dataenginemanager.cpp 08e42fb 
> 
> Diff: https://git.reviewboard.kde.org/r/127795/diff/
> 
> 
> Testing
> -------
> 
> Test pass.
> 
> 
> Thanks,
> 
> Anthony Fieroni
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160502/69ecb715/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list