summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2011-03-18 13:18:58 +0100
committerLuboš Luňák <l.lunak@suse.cz>2011-03-18 13:39:30 +0100
commit8424af3e1b69f00f442a5a49a964813ede2f09e7 (patch)
treea67250f50bb17549893ca3d238c50139e5c1dcab
parentf6b918cb27f78afb22eb8759775bdea400d98f22 (diff)
use full path for kdefilepicker helper binary (bnc#31109)
ack by pmladek
-rw-r--r--fpicker/source/unx/kde_unx/UnxFilePicker.cxx10
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 21e32dc7f9..c38ffcedb7 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 );