From 6cc3b50d3bcf9e5302668a20e592647d3ca37f4f Mon Sep 17 00:00:00 2001 From: crs Date: Wed, 26 Jun 2002 12:44:52 +0000 Subject: [PATCH] fixed re-entrant calls to X bug. --- platform/CXWindowsScreen.cpp | 5 ++++- platform/CXWindowsScreenSaver.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) 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();