diff --git a/honoka/libhonoka/honokatimer.cpp b/honoka/libhonoka/honokatimer.cpp index ddfb481..c62cd57 100644 --- a/honoka/libhonoka/honokatimer.cpp +++ b/honoka/libhonoka/honokatimer.cpp @@ -90,7 +90,8 @@ trans.put_command(HONOKA_TRANS_TIMER); trans.put_data(counter); agent.send_imengine_event(-1,"8bb03c1c-db6c-41b1-91bd-b7fb7dd70343",trans); - if ((counter ++) == 0) counter ++; + counter ++; + if (counter >= 0xffffffff) counter = 1; // �󡼡��ʤ�����ʤ��� } } @@ -136,6 +137,7 @@ if (it == events.end()) break; res.push_back(it->second); events.erase(it); + if (i == 0xffffffff) i = 0; } bef = c; return res; @@ -147,7 +149,10 @@ */ int HonokaTimer::appendDelayEvent(uint32 delay) { + uint32 t; eventCount ++; - events.insert(pair(bef + delay,eventCount)); + if ((0xffffffff - bef) <= delay) t = delay - (0xffffffff - bef) + 1; + else t = bef + delay; + events.insert(pair(t,eventCount)); return eventCount; }