X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0cd6e696320e17bd5895abeb7a623a3580c5e1ee..da8d6ffa5790529ae784345cb4441a3956751193:/wxPython/src/_datetime.i?ds=sidebyside diff --git a/wxPython/src/_datetime.i b/wxPython/src/_datetime.i index 197eeafe04..dd08788512 100644 --- a/wxPython/src/_datetime.i +++ b/wxPython/src/_datetime.i @@ -713,12 +713,39 @@ public: wxDateTime __sub__(const wxTimeSpan& other) { return *self - other; } wxDateTime __sub__(const wxDateSpan& other) { return *self - other; } - bool __lt__(const wxDateTime* other) { return other ? (*self < *other) : False; } - bool __le__(const wxDateTime* other) { return other ? (*self <= *other) : False; } - bool __gt__(const wxDateTime* other) { return other ? (*self > *other) : True; } - bool __ge__(const wxDateTime* other) { return other ? (*self >= *other) : True; } - bool __eq__(const wxDateTime* other) { return other ? (*self == *other) : False; } - bool __ne__(const wxDateTime* other) { return other ? (*self != *other) : True; } +// bool __lt__(const wxDateTime* other) { return other ? (*self < *other) : False; } +// bool __le__(const wxDateTime* other) { return other ? (*self <= *other) : False; } +// bool __gt__(const wxDateTime* other) { return other ? (*self > *other) : True; } +// bool __ge__(const wxDateTime* other) { return other ? (*self >= *other) : True; } + + + // These fall back to just comparing pointers if other is NULL, or if + // either operand is invalid. + bool __lt__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self < other; + return (*self < *other); + } + bool __le__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self <= other; + return (*self <= *other); + } + bool __gt__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self > other; + return (*self > *other); + } + bool __ge__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self >= other; + return (*self >= *other); + } + + bool __eq__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self == other; + return (*self == *other); + } + bool __ne__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self != other; + return (*self != *other); + } }