diff options
Diffstat (limited to 'vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx')
-rw-r--r-- | vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx | 9 |
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(); |