diff options
author | George Hazan <ghazan@miranda.im> | 2020-02-01 18:17:19 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2020-02-01 18:17:19 +0300 |
commit | 133b067e695bee81189df980c9043fe843d7887e (patch) | |
tree | 76a36435e3d210490a08c59a3c2abe236a16d115 /src/mir_core | |
parent | 22308a6db6d03337d854810c3245260a19972deb (diff) |
let's make a couple of things simpler
Diffstat (limited to 'src/mir_core')
-rw-r--r-- | src/mir_core/src/CTimer.cpp | 16 | ||||
-rw-r--r-- | src/mir_core/src/locks.cpp | 3 | ||||
-rw-r--r-- | src/mir_core/src/mir_core.def | 2 | ||||
-rw-r--r-- | src/mir_core/src/mir_core64.def | 2 |
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, ¶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
|