| 28 | } |
| 29 | |
| 30 | bool IdTracker::getId(void* ptr, int* outId) FL_NOEXCEPT { |
| 31 | if (!ptr || !outId) { |
| 32 | return false; |
| 33 | } |
| 34 | |
| 35 | // Lock for thread safety |
| 36 | mMutex.lock(); |
| 37 | |
| 38 | auto it = mPointerToId.find(ptr); |
| 39 | bool found = (it != mPointerToId.end()); |
| 40 | if (found) { |
| 41 | *outId = it->second; |
| 42 | } |
| 43 | |
| 44 | mMutex.unlock(); |
| 45 | return found; |
| 46 | } |
| 47 | |
| 48 | bool IdTracker::removeId(void* ptr) FL_NOEXCEPT { |
| 49 | if (!ptr) { |