Bug 179946

Summary: KEditFileType creates several entries, when adding an association with a terminal command
Product: [Applications] systemsettings Reporter: Panagiotis Papadopoulos <pano_90>
Component: kcm_filetypesAssignee: David Faure <faure>
Status: RESOLVED FIXED    
Severity: normal CC: kde
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Panagiotis Papadopoulos 2009-01-07 20:28:09 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

Steps to reproduce:

1. Right-click a file, click on "Open With" --> "Other...".
2. Enter a terminal command that has no ".desktop" file (I tried this with "qmmp --enqueue", "ls" and "cat"). Check the "Remember asociation" box.
3. open KEditFileType, by right-clicking the file and opening the properties
4. If there are no multiple entries visible yet, click on "Add..." and enter another terminal command, and click on Apply
5. There should appear one entry on top (or two, depending on if you had to add another command) and seven other identical entries below the other entries

I tried this with multiple filetypes like mp3, jpg and png and I got the same behaviour.

thanks
Comment 1 Lukas Middendorf 2009-01-17 01:11:01 UTC
I have not been able to reproduce this with 4.1.96 (kde-redhat repo on FC10).

But if I modify settings of an application (e.g. add --use to kate) then I get a second entry for this application. Both entries still show the original settings and not the modified ones, although the new settings are used.
Comment 2 Panagiotis Papadopoulos 2009-01-18 01:22:23 UTC
Here with a 1 day old version of trunk, I can't reproduce the error anymore, with simple commands like "ls" or "cat", that lack the "--" or an argument.
But if I enter "test --test" or anything similar, I still encounter the bug...
Comment 3 David Faure 2009-02-04 16:35:16 UTC
SVN commit 921138 by dfaure:

Backport r915356+915400+915818:
fix duplicated applications in the K menu and in keditfiletype, because kded was
creating kservices with absolute paths and not letting local ones override global ones.
BUG: 179946
BUG: 179462
BUG: 182060


 M  +2 -4      kdecore/services/kservice.cpp  
 M  +7 -0      kdecore/services/kservice_p.h  
 M  +1 -1      kdecore/sycoca/ksycoca.cpp  
 M  +6 -2      kdecore/sycoca/ksycocaentry.cpp  
 M  +8 -1      kdecore/sycoca/ksycocaentry.h  
 M  +3 -1      kdecore/sycoca/ksycocaentry_p.h  
 M  +2 -6      kdecore/sycoca/ksycocafactory.cpp  
 M  +46 -21    kded/kbuildservicefactory.cpp  
 M  +2 -1      kded/kbuildservicefactory.h  
 M  +1 -1      kded/kbuildsycoca.cpp  
 M  +3 -3      kded/vfolder_menu.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=921138