Patch borrowed from Debian's kde4libs package. --- a/kded/CMakeLists.txt +++ b/kded/CMakeLists.txt @@ -69,7 +69,7 @@ if (WIN32) install( FILES applications.menu DESTINATION ${SHARE_INSTALL_PREFIX}/xdg/menus ) else (WIN32) -install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus ) +install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde4-applications.menu ) endif (WIN32) install( FILES kdedmodule.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} ) install( FILES kded.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update ) --- a/kded/vfolder_menu.cpp +++ b/kded/vfolder_menu.cpp @@ -770,8 +770,10 @@ QString result; QString xdgMenuPrefix = QString::fromLocal8Bit(qgetenv("XDG_MENU_PREFIX")); - if (!xdgMenuPrefix.isEmpty()) - { + // enforce kde4 prefix unless XDG_MENU_PREFIX is set (LP: #297195) + if (xdgMenuPrefix.isEmpty()) + xdgMenuPrefix = QString("kde4-"); + QFileInfo fileInfo(fileName); QString fileNameOnly = fileInfo.fileName(); @@ -781,7 +783,6 @@ QString baseName = QDir::cleanPath(m_docInfo.baseDir + fileInfo.path() + '/' + fileNameOnly); result = KStandardDirs::locate("xdgconf-menu", baseName); - } if (result.isEmpty()) {