aboutsummaryrefslogtreecommitdiff
path: root/src/win/native/ui_application.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-04-24 00:03:16 +0800
committercrupest <crupest@outlook.com>2020-04-24 00:03:16 +0800
commit75ff8a6a05afd02aaadf7e3049b0a0e305241182 (patch)
tree5444bbb3ef80036cc38a827b8ccf03f48b310728 /src/win/native/ui_application.cpp
parent922d7f6c96f81a33538900f8a8992a5b6f640874 (diff)
downloadcru-75ff8a6a05afd02aaadf7e3049b0a0e305241182.tar.gz
cru-75ff8a6a05afd02aaadf7e3049b0a0e305241182.tar.bz2
cru-75ff8a6a05afd02aaadf7e3049b0a0e305241182.zip
...
Diffstat (limited to 'src/win/native/ui_application.cpp')
-rw-r--r--src/win/native/ui_application.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/win/native/ui_application.cpp b/src/win/native/ui_application.cpp
index 9aa3ebcd..599ecadc 100644
--- a/src/win/native/ui_application.cpp
+++ b/src/win/native/ui_application.cpp
@@ -73,19 +73,20 @@ void WinUiApplication::InvokeLater(std::function<void()> action) {
throw Win32Error(::GetLastError(), "InvokeLater failed to post message.");
}
-unsigned long WinUiApplication::SetTimeout(
- std::chrono::milliseconds milliseconds, std::function<void()> action) {
- return static_cast<unsigned long>(timer_manager_->CreateTimer(
+long long WinUiApplication::SetTimeout(std::chrono::milliseconds milliseconds,
+ std::function<void()> action) {
+ return gsl::narrow<long long>(timer_manager_->CreateTimer(
static_cast<UINT>(milliseconds.count()), false, std::move(action)));
}
-unsigned long WinUiApplication::SetInterval(
- std::chrono::milliseconds milliseconds, std::function<void()> action) {
- return static_cast<unsigned long>(timer_manager_->CreateTimer(
+long long WinUiApplication::SetInterval(std::chrono::milliseconds milliseconds,
+ std::function<void()> action) {
+ return gsl::narrow<long long>(timer_manager_->CreateTimer(
static_cast<UINT>(milliseconds.count()), true, std::move(action)));
}
-void WinUiApplication::CancelTimer(unsigned long id) {
+void WinUiApplication::CancelTimer(long long id) {
+ if (id < 0) return;
timer_manager_->KillTimer(static_cast<UINT_PTR>(id));
}