diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2014-03-10 15:05:22 +0000 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2014-03-14 23:44:12 +0100 |
commit | cc8d566d74a2e0b969b92d9cf22cc95a3bf31a98 (patch) | |
tree | a916b545f9d37ab8b100cc373ccc3aa9bde17b43 /vcl/unx/kde4/KDESalInstance.cxx | |
parent | 516a8dedac9c3cb77cd26a740cf793b1cab920d0 (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.cxx | 10 |
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() |