summaryrefslogtreecommitdiff
path: root/fpicker
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:20:54 +0100
commitb6cc0b0c18e6ce985d200d801c6b4f64ca705d75 (patch)
tree74dc17c04177670f6f034fc6f0a630c5f49f8f4d /fpicker
parent810c64fd7e92e26347a6c4cc0666b8c73d3ddada (diff)
use full path for kdefilepicker helper binary (bnc#31109)
Diffstat (limited to 'fpicker')
-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 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 );