summaryrefslogtreecommitdiff
path: root/vcl/unx/kde4/KDESalInstance.cxx
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2014-03-10 15:05:22 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2014-03-14 23:44:12 +0100
commitcc8d566d74a2e0b969b92d9cf22cc95a3bf31a98 (patch)
treea916b545f9d37ab8b100cc373ccc3aa9bde17b43 /vcl/unx/kde4/KDESalInstance.cxx
parent516a8dedac9c3cb77cd26a740cf793b1cab920d0 (diff)
KDE4: add Qt4 glib ExcludeSocket runtime check
Add a runtime check and configure warning to disable KDE4 native file pickers, if the Qt4 glib dispatcher doesn't honor the QEventLoop::ExcludeSocketNotifiers flag. This way polling the QClipboard using the event loop won't crash LibreOffice with recursive paint events, See https://bugreports.qt-project.org/browse/QTBUG-37380 Change-Id: I5cad30ead74571e49a075c084cca7a19acff7523
Diffstat (limited to 'vcl/unx/kde4/KDESalInstance.cxx')
-rw-r--r--vcl/unx/kde4/KDESalInstance.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/vcl/unx/kde4/KDESalInstance.cxx b/vcl/unx/kde4/KDESalInstance.cxx
index 9670172e216e..023d79051741 100644
--- a/vcl/unx/kde4/KDESalInstance.cxx
+++ b/vcl/unx/kde4/KDESalInstance.cxx
@@ -32,10 +32,14 @@ SalFrame* KDESalInstance::CreateFrame( SalFrame *pParent, sal_uLong nState )
}
uno::Reference< ui::dialogs::XFilePicker2 > KDESalInstance::createFilePicker(
- const uno::Reference< uno::XComponentContext >& xMSF )
+ const uno::Reference< uno::XComponentContext >& xMSF )
{
- return uno::Reference< ui::dialogs::XFilePicker2 >(
- static_cast<KDEXLib*>( mpXLib )->createFilePicker(xMSF) );
+ KDEXLib* kdeXLib = static_cast<KDEXLib*>( mpXLib );
+ if (kdeXLib->haveQt4SocketExcludeFix())
+ return uno::Reference< ui::dialogs::XFilePicker2 >(
+ kdeXLib->createFilePicker(xMSF) );
+ else
+ return X11SalInstance::createFilePicker( xMSF );
}
int KDESalInstance::getFrameWidth()