summaryrefslogtreecommitdiff
path: root/src/mir_core
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2020-02-01 18:17:19 +0300
committerGeorge Hazan <ghazan@miranda.im>2020-02-01 18:17:19 +0300
commit133b067e695bee81189df980c9043fe843d7887e (patch)
tree76a36435e3d210490a08c59a3c2abe236a16d115 /src/mir_core
parent22308a6db6d03337d854810c3245260a19972deb (diff)
let's make a couple of things simpler
Diffstat (limited to 'src/mir_core')
-rw-r--r--src/mir_core/src/CTimer.cpp16
-rw-r--r--src/mir_core/src/locks.cpp3
-rw-r--r--src/mir_core/src/mir_core.def2
-rw-r--r--src/mir_core/src/mir_core64.def2
4 files changed, 19 insertions, 4 deletions
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