diff --git a/uppsrc/CtrlCore/CtrlTimer.cpp b/uppsrc/CtrlCore/CtrlTimer.cpp index 36903cb33..4283d1e30 100644 --- a/uppsrc/CtrlCore/CtrlTimer.cpp +++ b/uppsrc/CtrlCore/CtrlTimer.cpp @@ -80,16 +80,12 @@ void Ctrl::TimerProc(dword time) return; sTimerLock.Enter(); TimeEvent *list = tevents(); - if(sTClick > time) - for(TimeEvent *e = list->GetNext(); e != list; e = e->GetNext()) - if(e->time > 0x80000000) - e->time = 0; sTClick = time; sTimerLock.Leave(); Ctrl::CheckMouseCtrl(); Ctrl::SyncCaret(); sTimerLock.Enter(); - while(list->GetNext() != list && list->GetNext()->time < time) { + while(list->GetNext() != list && ((int)(time - list->GetNext()->time)) > 0) { TimeEvent *e = list->GetNext(); e->Unlink(); if(e->delay < 0) diff --git a/uppsrc/CtrlLib/ArrayCtrl.cpp b/uppsrc/CtrlLib/ArrayCtrl.cpp index c7b7d1e6e..55af5b5ff 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.cpp +++ b/uppsrc/CtrlLib/ArrayCtrl.cpp @@ -2369,6 +2369,9 @@ void ArrayCtrl::SerializeSettings(Stream& s) DoColumnSort(); } +void ArrayCtrl::Serialize(Stream& s) +{ +} void ArrayCtrl::Reset() { header.Reset(); diff --git a/uppsrc/CtrlLib/ArrayCtrl.h b/uppsrc/CtrlLib/ArrayCtrl.h index a02096b08..f6757f3f0 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.h +++ b/uppsrc/CtrlLib/ArrayCtrl.h @@ -35,6 +35,7 @@ public: virtual void LostFocus(); virtual void ChildGotFocus(); virtual void ChildLostFocus(); + virtual void Serialize(Stream& s); public: struct IdInfo { diff --git a/uppsrc/Sql/SqlBool.cpp b/uppsrc/Sql/SqlBool.cpp index 773af901d..7bdc94d5c 100644 --- a/uppsrc/Sql/SqlBool.cpp +++ b/uppsrc/Sql/SqlBool.cpp @@ -49,6 +49,11 @@ SqlBool operator!=(const SqlVal& a, const SqlVal& b) { } +SqlBool IsSame(const SqlVal& a, const SqlVal& b) +{ + return SqlBool(a, SqlCase(MY_SQL, "<=>")(" is not distinct from "), b, SqlS::COMP); +} + SqlBool operator&&(const SqlBool& a, const SqlBool& b) { if(a.IsEmpty() || a.IsTrue()) return b; if(b.IsEmpty() || b.IsTrue()) return a; @@ -86,7 +91,6 @@ SqlBool SqlFirstRow() { } SqlBool Like(const SqlVal& a, const SqlVal& b, bool cs) { - return SqlBool(a, SqlCase (MY_SQL, " like binary ") (PGSQL, cs ? " like " : " ilike ") diff --git a/uppsrc/Sql/Sqlexp.h b/uppsrc/Sql/Sqlexp.h index 2a131d489..5ef994db3 100644 --- a/uppsrc/Sql/Sqlexp.h +++ b/uppsrc/Sql/Sqlexp.h @@ -319,6 +319,8 @@ SqlBool operator>(const SqlVal& a, const SqlVal& b); SqlBool operator==(const SqlVal& a, const SqlVal& b); SqlBool operator!=(const SqlVal& a, const SqlVal& b); +SqlBool IsSame(const SqlVal& a, const SqlVal& b); + SqlBool operator||(const SqlBool& a, const SqlBool& b); SqlBool operator&&(const SqlBool& a, const SqlBool& b); SqlBool operator- (const SqlBool& a, const SqlBool& b);