diff options
author | Luboš Luňák <l.lunak@suse.cz> | 2011-03-18 13:18:58 +0100 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2011-03-18 13:20:54 +0100 |
commit | b6cc0b0c18e6ce985d200d801c6b4f64ca705d75 (patch) | |
tree | 74dc17c04177670f6f034fc6f0a630c5f49f8f4d /fpicker | |
parent | 810c64fd7e92e26347a6c4cc0666b8c73d3ddada (diff) |
use full path for kdefilepicker helper binary (bnc#31109)
Diffstat (limited to 'fpicker')
-rw-r--r-- | fpicker/source/unx/kde_unx/UnxFilePicker.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fpicker/source/unx/kde_unx/UnxFilePicker.cxx b/fpicker/source/unx/kde_unx/UnxFilePicker.cxx index 8c7cd91a9ec0..c2756ee716c4 100644 --- a/fpicker/source/unx/kde_unx/UnxFilePicker.cxx +++ b/fpicker/source/unx/kde_unx/UnxFilePicker.cxx @@ -38,8 +38,10 @@ #include <cppuhelper/interfacecontainer.h> #include <osl/diagnose.h> +#include <osl/file.hxx> #include <rtl/ustring.hxx> #include <rtl/ustrbuf.hxx> +#include <rtl/bootstrap.hxx> #include <tools/resmgr.hxx> #include <svtools/svtools.hrc> @@ -715,7 +717,11 @@ void UnxFilePicker::initFilePicker() #endif // The executable name - const char *pFname = "kdefilepicker"; + rtl::OUString helperurl( RTL_CONSTASCII_USTRINGPARAM("${ORIGIN}/kdefilepicker")); + rtl::Bootstrap::expandMacros( helperurl ); + rtl::OUString helperpath; + osl::FileBase::getSystemPathFromFileURL( helperurl, helperpath ); + rtl::OString helper( rtl::OUStringToOString( helperpath, osl_getThreadTextEncoding())); // ID of the main window const int nIdLen = 20; @@ -736,7 +742,7 @@ void UnxFilePicker::initFilePicker() } // Execute the fpicker implementation - execlp( pFname, pFname, "--winid", pWinId, NULL ); + execlp( helper.getStr(), helper.getStr(), "--winid", pWinId, NULL ); // Error, finish the child exit( -1 ); |