By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 891 - tdelibs: Potential inability to detect KDE4 apps for populating the TDE Menu
Summary: tdelibs: Potential inability to detect KDE4 apps for populating the TDE Menu
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: tdelibs (show other bugs)
Version: R14.0.0 [Trinity]
Hardware: All All
: P1 major
Assignee: Timothy Pearson
URL:
Depends on:
Blocks:
 
Reported: 2012-03-03 19:44 CST by Darrell
Modified: 2013-04-05 09:35 CDT (History)
3 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
Patch to test KDE4 location other than /usr. (517 bytes, patch)
2012-03-03 19:44 CST, Darrell
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Darrell 2012-03-03 19:44:33 CST
Created attachment 459 [details]
Patch to test KDE4 location other than /usr.

In tdelibs/kio/kio/kservice.cpp is a method for detecting KDE4 apps and appending such apps in the TDE menu with [KDE4]. This appendage helps identify and distinguish KDE4 apps from Trinity apps. The criterion for this detection is whether the app's full file name starts with /usr/share/applications/kde4/ (kservice.cpp:100):

bool kde4application = config->fileName().startsWith("/usr/share/applications/kde4/");

Should KDE4 be installed to a location other than /usr, this test will fail and the TDE menu will not be populated to distinguish KDE4 apps.

Rather than testing the full file path for the app, a partial string test should be used: share/applications/kde4/. For example:

bool kde4application = config->fileName().contains("share/applications/kde4/");

Patch attached and nominally tested.
Comment 1 Darrell 2012-03-03 21:52:44 CST
The attached patch is only a partial patch because the remainder of the related kde4application code in kservice.cpp also presumes /usr.

Additionally, the test for /usr/share/icons/hicolor/22x22/apps could be mistaken for an installed KDE3, which uses the same directory path. A different test is needed.
Comment 2 Timothy Pearson 2013-04-05 09:35:13 CDT
Patch looks sane; pushed to GIT in hash 9a2e58b.

Patch pushed to GIT in hash 9a2e58b, rest of bug (hopefully) resolved in hash 658707d.