From 469828c847365f77b237aca589e5a9a0aeb9b52f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Fri, 2 Aug 2013 08:31:53 +0200 Subject: [PATCH] Cache display and rootWindow No need to go through the QPA interface each time we access the Display variable or need the root window. --- libkwineffects/kwinglobals.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libkwineffects/kwinglobals.h b/libkwineffects/kwinglobals.h index 866b279b52..53a0502052 100644 --- a/libkwineffects/kwinglobals.h +++ b/libkwineffects/kwinglobals.h @@ -118,7 +118,11 @@ enum KWinOption { inline KWIN_EXPORT Display* display() { - return QX11Info::display(); + static Display *s_display = nullptr; + if (!s_display) { + s_display = QX11Info::display(); + } + return s_display; } inline @@ -134,7 +138,11 @@ KWIN_EXPORT xcb_connection_t *connection() inline KWIN_EXPORT xcb_window_t rootWindow() { - return QX11Info::appRootWindow(); + static xcb_window_t s_rootWindow = XCB_WINDOW_NONE; + if (s_rootWindow == XCB_WINDOW_NONE) { + s_rootWindow = QX11Info::appRootWindow(); + } + return s_rootWindow; } inline