Since my last post I found various threads online about other issues. A couple of plugins need to be excluded or ported to FSEventsd, and plugins are being built as .so instead of .dylib, which means that they aren't loaded by CB on startup. I also noticed a bug where Quit on the application menu doesn't work properly, while File|Quit does.
Caveat: IANA C++ developer. That said, this code appears to be checking whether a pointer (as opposed to the thing being pointed to) has value 0. So, why not cast it to a numeric type that is guaranteed to be large enough? template<typename T> bool equals(T const& rhs) const { return (uintptr_t)rhs == 0; } Works for me.