[Libreoffice-commits] .: Branch 'libreoffice-3-4' - vcl/unx
Tomáš Chvátal
tchvatal at kemper.freedesktop.org
Fri Oct 21 02:18:00 PDT 2011
vcl/unx/kde4/main.cxx | 11 +++++++++++
1 file changed, 11 insertions(+)
New commits:
commit 4c2b93d96689f62c24ebdb2d4e87ac08d51ed53a
Author: LuboÅ¡ LuÅák <l.lunak at suse.cz>
Date: Thu Oct 20 14:41:50 2011 +0000
let Qt call XInitThreads(), so that it knows it's been called (fdo#40298)
Otherwise QPixmap complains when used outside of the main Qt thread
and resets itself to null pixmap, eventually leading to crashes.
Signed-off-by: Tomáš Chvátal <tchvatal at suse.cz>
diff --git a/vcl/unx/kde4/main.cxx b/vcl/unx/kde4/main.cxx
index 32561d9..4365ad6 100644
--- a/vcl/unx/kde4/main.cxx
+++ b/vcl/unx/kde4/main.cxx
@@ -54,7 +54,18 @@ extern "C" {
established, so protect X against itself
*/
if( ! ( pNoXInitThreads && *pNoXInitThreads ) )
+ {
+#if QT_VERSION >= 0x040800
+ // let Qt call XInitThreads(), so that also Qt knows it's been used
+ // (otherwise QPixmap may warn about threads not being initialized)
+ QApplication::setAttribute( Qt::AA_X11InitThreads );
+#else
XInitThreads();
+ // just in case somebody builds with old version and then upgrades Qt,
+ // otherwise this is a no-op
+ QApplication::setAttribute( static_cast< Qt::ApplicationAttribute >( 10 ));
+#endif
+ }
#if QT_VERSION < 0x050000
// Qt 4.x support needs >= 4.1.0
More information about the Libreoffice-commits
mailing list