HAVE_X11 usage in KIO/core
Kevin Krammer
krammer at kde.org
Fri Feb 7 08:38:41 UTC 2014
On Friday, 2014-02-07, 08:53:54, Martin Gräßlin wrote:
> Hi,
>
> I found some HAVE_X11 not defined warnings in KIO and had a look at them.
> One of them is in core/kprotocolmanager.cpp in the following snippet.
>
> // This is not the OS, but the windowing system, e.g. X11 on Unix/Linux.
> static QString platform()
> {
> #if HAVE_X11
> return QL1S("X11");
> #elif defined(Q_OS_MAC)
> return QL1S("Macintosh");
> #elif defined(Q_OS_WIN)
> return QL1S("Windows");
> #else
> return QL1S("Unknown");
> #endif
> }
>
> I'm wondering what to do about it. The best would be to use
> QGuiApplication::platformName, but it's a core app. Also finding X11 in
> CMakeLists to get the HAVE_X11 defined looks very wrong to me and not future
> safe (Wayland).
My guess is that platform() in this context means operating system, not
windowing/display system.
Hinted also by the use of Q_OS_ instead of Q_WS_
IMHO the correct change is something like this
#if defined(Q_OS_UNIX)
#if defined(Q_OS_MAC)
return QL1S("Macintosh")
#elif defined(Q_OS_LINUX)
return QL1S("Linux")
#else
return QL1S("Unix")
#endif
#elfi defined(Q_OS_WINDOWS)
return QL1S("Windows")
#else
return QL1S("Unknown")
#endif
Cheers,
Kevin
--
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140207/f7a43fd8/attachment.sig>
More information about the Kde-frameworks-devel
mailing list