internal IntPtr Retain () {
uint count = Messaging.uint_objc_msgSend (handle, selRetainCount);
Messaging.void_objc_msgSendSuper (new IntPtr [] {handle, class_ptr}, selRetain);
if (count == 1) {
IntPtr hptr = GetObjCIvar ("__monoObjectGCHandle");
if (hptr == IntPtr.Zero) {
GCHandle h = GCHandle.Alloc (this);
SetObjCIvar ("__monoObjectGCHandle", (IntPtr) h);
} else {
Console.WriteLine ("WARNING: How did this happen: RetainImpl");
}
}
return handle;
}
#else