Hi, Yes, the screen saver for Linux needs to be fixed, and it's on my todo list.
For the MAC implementation, I already have some code locally, but they're not properly tested yet, so I don't want to publish them now... ================ Xizhi Zhu (Steven) Software Engineer @ Qt Development Frameworks Nokia Mobile: +358 (0)50 480 1247 ________________________________________ From: development-bounces+xizhi.zhu=nokia....@qt-project.org [development-bounces+xizhi.zhu=nokia....@qt-project.org] on behalf of ext Thiago Macieira [thi...@kde.org] Sent: Tuesday, November 01, 2011 4:44 PM To: development@qt-project.org Subject: Re: [Development] qtsystems doesn't compile - mtcore mandatory dependency On Tuesday, 1 de November de 2011 15:06:57 Robin Burchell wrote: > !contains(QT_CONFIG, jsondb): { > PRIVATE_HEADERS += qscreensaver_linux_p.h > SOURCES += qscreensaver_linux.cpp > > DEFINES += QT_NO_JSONDB > } else { > PRIVATE_HEADERS += qjsondbwrapper_p.h \ > qscreensaver_jsondb_p.h > > SOURCES += qjsondbwrapper.cpp \ > qscreensaver_jsondb.cpp > > QT += jsondb > PKGCONFIG += mtcore > LIBS += -L$$[QT_INSTALL_PREFIX]/opt/mt/lib -lmtcore > -Wl,-rpath,$$[QT_INSTALL_PREFIX]/opt/mt/lib > } > > Whoever maintains this, you should probably change that contains() > conditional to also check packagesExist(mtcore). For an example, see: I'm not sure that's the proper solution. Look at the files it's turning off because jsondb was found: the screensaver files. I have no clue what a database has to do with screensavers, but I doubt my KDE will react to it, so the proper solution is to fix qscreensaver_linux.cpp. And now I've looked at qscreensaver_linux.cpp. First of all, it should be called qscreensaver_x11.cpp, since it's an X11 implementation. Second, in Qt 5, there's no more Q_WS_X11, so this code will never work. It needs to be replaced with a QPA equivalent, getting the name of the QPA plugin loaded at runtime (like we discussed) and do the proper thing. At minimum, this file needs to be qscreensaver_unix.cpp and deal with X11/XCB and Wayland, plus the Mac and Windows implementations. Also note a Mac implementation (a reference platform) is missing. I have no clue what the jsondb implementation is for, but it looks extremely non-standard to me. If anyone wants it, they should set a flag when compiling qtsystems. The default should be to use the QPA solutions. It seems to me we have two tasks here. The first is a P0, to fix the build. The second is a P1, to implement the functionality for the reference platforms. I'll create those tasks tomorrow. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Software Architect - Intel Open Source Technology Center PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358 _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development