From 133b067e695bee81189df980c9043fe843d7887e Mon Sep 17 00:00:00 2001 From: George Hazan <ghazan@miranda.im> Date: Sat, 1 Feb 2020 18:17:19 +0300 Subject: let's make a couple of things simpler --- src/mir_core/src/CTimer.cpp | 16 ++++++++++++++-- src/mir_core/src/locks.cpp | 3 +-- src/mir_core/src/mir_core.def | 2 ++ src/mir_core/src/mir_core64.def | 2 ++ 4 files changed, 19 insertions(+), 4 deletions(-) (limited to 'src/mir_core') diff --git a/src/mir_core/src/CTimer.cpp b/src/mir_core/src/CTimer.cpp index 2525031dff..e03a44666c 100644 --- a/src/mir_core/src/CTimer.cpp +++ b/src/mir_core/src/CTimer.cpp @@ -46,6 +46,18 @@ BOOL CTimer::OnTimer() ///////////////////////////////////////////////////////////////////////////////////////// +void CTimer::Start(int elapse) +{ + ::SetTimer(m_wnd->GetHwnd(), m_idEvent, elapse, nullptr); +} + +void CTimer::Stop() +{ + ::KillTimer(m_wnd->GetHwnd(), m_idEvent); +} + +///////////////////////////////////////////////////////////////////////////////////////// + struct TStartParam { CTimer *pTimer; @@ -58,7 +70,7 @@ static INT_PTR CALLBACK stubStart(void *param) return ::SetTimer(p->pTimer->GetHwnd(), p->pTimer->GetEventId(), p->period, nullptr); } -void CTimer::Start(int elapse) +void CTimer::StartSafe(int elapse) { TStartParam param = { this, elapse }; CallFunctionSync(stubStart, ¶m); @@ -72,7 +84,7 @@ static INT_PTR CALLBACK stubStop(void *param) return ::KillTimer(p->GetHwnd(), p->GetEventId()); } -void CTimer::Stop() +void CTimer::StopSafe() { CallFunctionSync(stubStop, this); } diff --git a/src/mir_core/src/locks.cpp b/src/mir_core/src/locks.cpp index 38146b2858..d4ea621b91 100644 --- a/src/mir_core/src/locks.cpp +++ b/src/mir_core/src/locks.cpp @@ -36,8 +36,7 @@ mir_cs::~mir_cs() void mir_cs::Lock() { - while (!::TryEnterCriticalSection(&m_cs)) - ::SleepEx(0, TRUE); + ::EnterCriticalSection(&m_cs); } void mir_cs::Unlock() diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def index d233b605ec..b9a61b6e00 100644 --- a/src/mir_core/src/mir_core.def +++ b/src/mir_core/src/mir_core.def @@ -1457,3 +1457,5 @@ XmlGetChildText @1645 ??1mir_cs@@QAE@XZ @1672 NONAME ?Lock@mir_cs@@QAEXXZ @1673 NONAME ?Unlock@mir_cs@@QAEXXZ @1674 NONAME +?StartSafe@CTimer@@QAEXH@Z @1675 NONAME +?StopSafe@CTimer@@QAEXXZ @1676 NONAME diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def index b589947f72..4c3168f789 100644 --- a/src/mir_core/src/mir_core64.def +++ b/src/mir_core/src/mir_core64.def @@ -1457,3 +1457,5 @@ XmlGetChildText @1645 ??1mir_cs@@QEAA@XZ @1672 NONAME ?Lock@mir_cs@@QEAAXXZ @1673 NONAME ?Unlock@mir_cs@@QEAAXXZ @1674 NONAME +?StartSafe@CTimer@@QEAAXH@Z @1675 NONAME +?StopSafe@CTimer@@QEAAXXZ @1676 NONAME -- cgit v1.2.3