| 237 | |
| 238 | #ifndef NDEBUG |
| 239 | bool AssertObject(void * ob) |
| 240 | { |
| 241 | auto obj = (DObject*)ob; |
| 242 | if (obj == nullptr) return true; |
| 243 | #ifdef _MSC_VER |
| 244 | __try |
| 245 | { |
| 246 | return obj->MagicID == DObject::MAGIC_ID; |
| 247 | } |
| 248 | __except (1) |
| 249 | { |
| 250 | return false; |
| 251 | } |
| 252 | #else |
| 253 | // No SEH on non-Microsoft compilers. :( |
| 254 | return obj->MagicID == DObject::MAGIC_ID; |
| 255 | #endif |
| 256 | } |
| 257 | #endif |