PDA

View Full Version : Qt/X11 source-distro apps corrupting KDE Desktop background



wdezell
22nd July 2009, 20:36
All -

I am trying to fall back to an older distro of Qt than the Qt 4.5.1 that ships with Fedora 11 as a workaround a broken QtMySQL driver in 4.5.1 (http://www.qtcentre.org/forum/f-qt-programming-2/t-qt-451-mysql-51-qsqlquerylasterror-1295-22654.html) but am running into problems with my source distro built apps as follows:

Exposed KDE4 Desktop white(app moved) Other apps when moved produce same effect while my Qt app is running KDE4 Plasma workspace context menu will not display Problem observed with Qt apps compiled from Qt source distros 4.3.4 and 4.4.3 All Qt libraries (listed via ldd) resolve to Qt distro libraries Problem does not appear if Qt app rebuilt under Fedora Qt 4.5.1 Problem clears after a while. Background redraws, context menus work Using latest nVidia driver. OpenGL enabled, have tested with X11 backing store turned on & turned off

Any suggestions at all as to what might be happening?

Thanks,
Bill


Qt 4.4.3 build config:


Configuration ....... system-sqlite release shared dll largefile stl precompile_header separate_debug_info mmx 3dnow sse sse2 qt3support accessibility opengl minimal-config small-config medium-config large-config full-config reduce_exports ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify system-jpeg system-mng system-png png system-tiff system-freetype system-zlib nis iconv glib dbus openssl x11sm xshape xrandr xrender fontconfig tablet xkb xmlpatterns svg webkit release
Debug ............... no
Qt 3 compatibility .. yes
QtDBus module ....... yes (run-time)
QtXmlPatterns module yes
Phonon module ....... no
SVG module .......... yes
WebKit module ....... yes
WebKit in Assistant no
STL support ......... yes
PCH support ......... yes
MMX/3DNOW/SSE/SSE2.. yes/yes/yes/yes
IPv6 support ........ yes
IPv6 ifname support . yes
getaddrinfo support . yes
getifaddrs support .. yes
Accessibility ....... yes
NIS support ......... yes
CUPS support ........ no
Iconv support ....... yes
Glib support ........ yes
GStreamer support ... no
Large File support .. yes
GIF support ......... plugin
TIFF support ........ plugin (system)
JPEG support ........ plugin (system)
PNG support ......... yes (system)
MNG support ......... plugin (system)
zlib support ........ system
OpenGL support ...... yes
NAS sound support ... no
Session management .. yes
XShape support ...... yes
Xinerama support .... runtime
Xcursor support ..... runtime
Xfixes support ...... runtime
Xrandr support ...... yes
Xrender support ..... yes
FontConfig support .. yes
XKB Support ......... yes
immodule support .... yes
MySQL support ....... qt
SQLite support ...... plugin (system)
OpenSSL support ..... yes (run-time)

wysota
22nd July 2009, 21:22
Which KDE4 release you're using? By the way, can't you just compile MySql driver from Qt 4.4 against Qt 4.5? It should work just fine.

wdezell
22nd July 2009, 21:43
I hadn't thought of trying to use a source-compiled 4.4 MySQL driver with the rpm-installed 4.5.1. I suspect it might work but I'm unsure how to do it. I'd prefer to stay within a single version, though, as I deliver everything to my customer as is required for a complete source-up build (and I don't want to complicate support matters).

yum list installed reports the following for kdebase:
kdebase.i586 6:4.2.4-2.fc11


I am puzzled about the behavior of the source-built Qt's. I've built using Qt source distros many times in the past and never encountered this problem. My ./configure options for X11 seem right to me.

BE

wysota
22nd July 2009, 23:03
KDE 4.2 doesn't work fell with pre-Qt4.5 installations, as far as I remember.

But I'd suggest solving the MySQL problem or building the older driver against a newer library. I'd even try deploying older binary driver into newer Qt installation, there is a high chance it will work regardless of different Qt releases.

wdezell
23rd July 2009, 01:10
I seem to recall reading that 4.4 and 4.5 are source/binary compatible. I just rebuilt 4.4.3 to re-test one more time (display still corrupted). I think I will take your suggestion and try installing the MySQL driver from the 4.4.3 build into the 4.5 tree. I'll ldd it an make sure there are no 4.4.3 dependencies burned into it.

Thanks for the suggestion.

Bill

wdezell
23rd July 2009, 21:10
UPDATE:

The culprit is CPU cycles. My two (unmodified) apps grab a massive amount of CPU time for about 30-45 seconds wall clock time. This prevents desktop background redraw (and other things, like launching KSnapshot to get a picture of it).

Not sure what's behind this yet. My main()'s fire off QSplashScreens and are liberally sprinkled with qApp->processEvents().