summaryrefslogtreecommitdiffstats
path: root/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx')
-rw-r--r--vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx
index 222ce648f435..f487bed1670e 100644
--- a/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx
+++ b/vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx
@@ -26,6 +26,7 @@
#include <config_gio.h>
#include <com/sun/star/awt/Toolkit.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
@@ -886,10 +887,14 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute()
awt::Toolkit::create(m_xContext),
UNO_QUERY_THROW );
+ uno::Reference< frame::XDesktop > xDesktop(
+ frame::Desktop::create(m_xContext),
+ UNO_QUERY_THROW );
+
GtkWindow *pParent = RunDialog::GetTransientFor();
if (pParent)
gtk_window_set_transient_for(GTK_WINDOW(m_pDialog), pParent);
- RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit);
+ RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit, xDesktop);
uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunDialog);
while( GTK_RESPONSE_NO == btn )
{
@@ -982,7 +987,7 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute()
if (pParent)
gtk_window_set_transient_for(GTK_WINDOW(dlg), pParent);
#endif
- RunDialog* pAnotherDialog = new RunDialog(dlg, xToolkit);
+ RunDialog* pAnotherDialog = new RunDialog(dlg, xToolkit, xDesktop);
uno::Reference < awt::XTopWindowListener > xAnotherLifeCycle(pAnotherDialog);
btn = pAnotherDialog->run();