diff --git a/platform/CXWindowsScreen.cpp b/platform/CXWindowsScreen.cpp index 4e88b5ed..4f223569 100644 --- a/platform/CXWindowsScreen.cpp +++ b/platform/CXWindowsScreen.cpp @@ -387,7 +387,10 @@ CXWindowsScreen::processEvent(XEvent* xevent) } // let screen saver have a go - m_screenSaver->processEvent(xevent); + { + CLock lock(&m_mutex); + m_screenSaver->processEvent(xevent); + } return false; } diff --git a/platform/CXWindowsScreenSaver.h b/platform/CXWindowsScreenSaver.h index 95eb9830..c97eba39 100644 --- a/platform/CXWindowsScreenSaver.h +++ b/platform/CXWindowsScreenSaver.h @@ -16,7 +16,7 @@ class CXWindowsScreenSaver : public IScreenSaver { public: // note -- the caller must ensure that Display* passed to c'tor isn't // being used in another call to Xlib when calling any method on this - // object (including during the c'tor and d'tor) except processEvent(). + // object (including during the c'tor and d'tor). CXWindowsScreenSaver(CXWindowsScreen*, Display*); virtual ~CXWindowsScreenSaver();