Review Request 111951: Fix where some file type associations can't be changed anymore

Thomas Lübking thomas.luebking at gmail.com
Fri Aug 23 00:23:03 BST 2013



> On Aug. 21, 2013, 9:28 p.m., Frank Reininghaus wrote:
> > I guess what Thomas meant is not that you should use QStringList_removeDuplicates directly, but that you should follow a similar approach to resolve the following problem with your current patch:
> > 
> > You have two nested loops which iterate over the list "lstServiceTypes". Therefore, the patched function has O(N^2) complexity, where N is the length of the list. If N ever becomes large (I'm not sure how likely that is), then there is a very bad performance problem.
> > 
> > BTW, your patch still has coding style issues. Always put a space behind "if", do not put spaces inside "(...)", and use braces even for single-line  if/else blocks, see
> > 
> > http://techbase.kde.org/Policies/Kdelibs_Coding_Style
> > 
> > for details. Even if the existing code does not follow the style, you should format any new or changed lines correctly.

The two nice things about the stringlist function are that it doesn't require a second list (but just collapses the current) and checks against a growing (but pre-allocated) set.

I guess the problem here is that KMimeType::is() is not commutative.
In this case that does unfortunately not work.

Since performance seems not critical anyway, that doesn't matter though.


- Thomas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111951/#review38305
-----------------------------------------------------------


On Aug. 21, 2013, 10:25 p.m., Mathias Tillman wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/111951/
> -----------------------------------------------------------
> 
> (Updated Aug. 21, 2013, 10:25 p.m.)
> 
> 
> Review request for kdelibs.
> 
> 
> Description
> -------
> 
> This fixes a bug introduced by https://projects.kde.org/projects/kde/kdelibs/repository/revisions/871cccc8a88a600c8f850a020d44bfc5f5858caa that made it impossible to re-order file type associations both in System settings and in the open with list. Hence it contains a new way of detecting duplicate (inherited) mimetype entries, that the original was supposed to fix.
> 
> 
> This addresses bug 321706.
>     http://bugs.kde.org/show_bug.cgi?id=321706
> 
> 
> Diffs
> -----
> 
>   kdecore/services/kservice.cpp 8e81929b91803a3eed586d9fc15cdd78165b6bce 
>   kded/kbuildservicefactory.cpp 7f89a991d088476d8ed94763e6fa65dcc3d0603c 
>   kded/kmimeassociations.h 4a2c71312ade32a9ac779495496bf6ebb78b37a4 
>   kded/kmimeassociations.cpp b0af7bcc4a39e5cce1fa6abe86cace476313702a 
> 
> Diff: http://git.reviewboard.kde.org/r/111951/diff/
> 
> 
> Testing
> -------
> 
> I have tested so that file type associations can be ordered correctly, in addition to making sure that parent mimetypes have precedence when an app lists two or more mimetypes where one is the parent of the other.
> 
> 
> Thanks,
> 
> Mathias Tillman
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130822/036e127d/attachment.htm>


More information about the kde-core-devel mailing list