private void SetCallback(IntPtr pointer, IntPtr clientData) { var data = Helpers.StrFromPtr(pointer); if (IsValid(data)) { bool changed = (data != value); value = data; if (changed) { OnChanged(EventArgs.Empty); } } }