UICommon: Avoid including Xrandr.h

Xlib has really terrible headers that declare non-namespaced
macros and typedefs for common words.

Just wasted 10 minutes trying to figure out why a unit test failed
to build before I remembered it was Xrandr.h conflicting with our
enum class members again.

To fix the issue, this removes the Display* parameter from the
EnableScreensaver function (which was unused) so we don't have
to include Xrandr.h anymore.
This commit is contained in:
Léo Lam 2018-04-14 16:48:49 +02:00
parent 62269572e4
commit 2f22c76db1
7 changed files with 8 additions and 16 deletions

View file

@ -191,7 +191,7 @@ class PlatformX11 : public Platform
s_window_handle = (void*)win; s_window_handle = (void*)win;
if (SConfig::GetInstance().bDisableScreenSaver) if (SConfig::GetInstance().bDisableScreenSaver)
X11Utils::InhibitScreensaver(dpy, win, true); X11Utils::InhibitScreensaver(win, true);
#if defined(HAVE_XRANDR) && HAVE_XRANDR #if defined(HAVE_XRANDR) && HAVE_XRANDR
XRRConfig = new X11Utils::XRRConfiguration(dpy, win); XRRConfig = new X11Utils::XRRConfiguration(dpy, win);

View file

@ -972,10 +972,7 @@ void MainWindow::NetPlayQuit()
void MainWindow::EnableScreenSaver(bool enable) void MainWindow::EnableScreenSaver(bool enable)
{ {
#if defined(HAVE_XRANDR) && HAVE_XRANDR #if defined(HAVE_XRANDR) && HAVE_XRANDR
UICommon::EnableScreenSaver( UICommon::EnableScreenSaver(winId(), enable);
static_cast<Display*>(QGuiApplication::platformNativeInterface()->nativeResourceForWindow(
"display", windowHandle())),
winId(), enable);
#else #else
UICommon::EnableScreenSaver(enable); UICommon::EnableScreenSaver(enable);
#endif #endif

View file

@ -708,8 +708,7 @@ WXLRESULT CFrame::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
void CFrame::EnableScreenSaver(bool enable) void CFrame::EnableScreenSaver(bool enable)
{ {
#if defined(HAVE_XRANDR) && HAVE_XRANDR #if defined(HAVE_XRANDR) && HAVE_XRANDR
UICommon::EnableScreenSaver(X11Utils::XDisplayFromHandle(GetHandle()), UICommon::EnableScreenSaver(X11Utils::XWindowFromHandle(GetHandle()), enable);
X11Utils::XWindowFromHandle(GetHandle()), enable);
#else #else
UICommon::EnableScreenSaver(enable); UICommon::EnableScreenSaver(enable);
#endif #endif

View file

@ -338,7 +338,7 @@ bool TriggerSTMPowerEvent()
} }
#if defined(HAVE_XRANDR) && HAVE_X11 #if defined(HAVE_XRANDR) && HAVE_X11
void EnableScreenSaver(Display* display, Window win, bool enable) void EnableScreenSaver(Window win, bool enable)
#else #else
void EnableScreenSaver(bool enable) void EnableScreenSaver(bool enable)
#endif #endif
@ -349,7 +349,7 @@ void EnableScreenSaver(bool enable)
#if defined(HAVE_X11) && HAVE_X11 #if defined(HAVE_X11) && HAVE_X11
if (SConfig::GetInstance().bDisableScreenSaver) if (SConfig::GetInstance().bDisableScreenSaver)
{ {
X11Utils::InhibitScreensaver(display, win, !enable); X11Utils::InhibitScreensaver(win, !enable);
} }
#endif #endif

View file

@ -8,17 +8,13 @@
#include "Common/CommonTypes.h" #include "Common/CommonTypes.h"
#if defined(HAVE_XRANDR) && HAVE_XRANDR
#include <X11/extensions/Xrandr.h>
#endif
namespace UICommon namespace UICommon
{ {
void Init(); void Init();
void Shutdown(); void Shutdown();
#if defined(HAVE_XRANDR) && HAVE_XRANDR #if defined(HAVE_XRANDR) && HAVE_XRANDR
void EnableScreenSaver(Display* display, Window win, bool enable); void EnableScreenSaver(unsigned long win, bool enable);
#else #else
void EnableScreenSaver(bool enable); void EnableScreenSaver(bool enable);
#endif #endif

View file

@ -43,7 +43,7 @@ bool ToggleFullscreen(Display* dpy, Window win)
return true; return true;
} }
void InhibitScreensaver(Display* dpy, Window win, bool suspend) void InhibitScreensaver(Window win, bool suspend)
{ {
char id[11]; char id[11];
snprintf(id, sizeof(id), "0x%lx", win); snprintf(id, sizeof(id), "0x%lx", win);

View file

@ -24,7 +24,7 @@ bool ToggleFullscreen(Display* dpy, Window win);
Window XWindowFromHandle(void* Handle); Window XWindowFromHandle(void* Handle);
Display* XDisplayFromHandle(void* Handle); Display* XDisplayFromHandle(void* Handle);
void InhibitScreensaver(Display* dpy, Window win, bool suspend); void InhibitScreensaver(Window win, bool suspend);
#if defined(HAVE_XRANDR) && HAVE_XRANDR #if defined(HAVE_XRANDR) && HAVE_XRANDR
class XRRConfiguration class XRRConfiguration