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, &param);
@@ -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