summaryrefslogtreecommitdiff
path: root/fpicker/source/unx/gnome/SalGtkPicker.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'fpicker/source/unx/gnome/SalGtkPicker.cxx')
-rw-r--r--fpicker/source/unx/gnome/SalGtkPicker.cxx19
1 files changed, 16 insertions, 3 deletions
diff --git a/fpicker/source/unx/gnome/SalGtkPicker.cxx b/fpicker/source/unx/gnome/SalGtkPicker.cxx
index 782b44d11e7c..94671521a6fc 100644
--- a/fpicker/source/unx/gnome/SalGtkPicker.cxx
+++ b/fpicker/source/unx/gnome/SalGtkPicker.cxx
@@ -130,9 +130,10 @@ extern "C"
extern GdkDisplay* gdk_x11_lookup_xdisplay (void*xdisplay);
}
-RunDialog::RunDialog( GtkWidget *pDialog, uno::Reference< awt::XExtendedToolkit >& rToolkit ) :
- cppu::WeakComponentImplHelper1< awt::XTopWindowListener >( maLock ),
- mpDialog(pDialog), mpCreatedParent(NULL), mxToolkit(rToolkit)
+RunDialog::RunDialog( GtkWidget *pDialog, uno::Reference< awt::XExtendedToolkit >& rToolkit,
+ uno::Reference< frame::XDesktop >& rDesktop ) :
+ cppu::WeakComponentImplHelper2< awt::XTopWindowListener, frame::XTerminateListener >( maLock ),
+ mpDialog(pDialog), mpCreatedParent(NULL), mxToolkit(rToolkit), mxDesktop(rDesktop)
{
awt::SystemDependentXWindow aWindowHandle;
@@ -186,6 +187,18 @@ void SAL_CALL RunDialog::windowOpened( const ::com::sun::star::lang::EventObject
g_timeout_add_full(G_PRIORITY_HIGH_IDLE, 0, (GSourceFunc)canceldialog, this, NULL);
}
+void SAL_CALL RunDialog::queryTermination( const ::com::sun::star::lang::EventObject& )
+ throw(::com::sun::star::frame::TerminationVetoException, ::com::sun::star::uno::RuntimeException)
+{
+}
+
+void SAL_CALL RunDialog::notifyTermination( const ::com::sun::star::lang::EventObject& )
+ throw(::com::sun::star::uno::RuntimeException)
+{
+ GdkThreadLock aLock;
+ g_timeout_add_full(G_PRIORITY_HIGH_IDLE, 0, (GSourceFunc)canceldialog, this, NULL);
+}
+
void RunDialog::cancel()
{
GdkThreadLock aLock;