diff --git a/platform/qt/src/sqlite3.cpp b/platform/qt/src/sqlite3.cpp index 6ed55c541..0cd78d85c 100644 --- a/platform/qt/src/sqlite3.cpp +++ b/platform/qt/src/sqlite3.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -141,7 +142,11 @@ Database::~Database() { void Database::setBusyTimeout(std::chrono::milliseconds timeout) { assert(impl); - std::string timeoutStr = mbgl::util::toString(timeout.count()); + + // std::chrono::milliseconds.count() is a long and Qt will cast + // internally to int, so we need to make sure the limits apply. + std::string timeoutStr = mbgl::util::toString(timeout.count() & INT_MAX); + QString connectOptions = impl->db->connectOptions(); if (connectOptions.isEmpty()) { if (!connectOptions.isEmpty()) connectOptions.append(';');