[Rubycocoa-devel 1133] another cacheing problem

Back to archive index

Satoshi Nakagawa snaka****@infot*****
Mon Aug 6 07:10:47 JST 2007


Hi.

I have investigated a problem, NSOutlineView#selectedRowIndexes sometimes
returns NSCFString not NSIndexSet.

  #<OSX::NSCFString:0x3c89b2 class='NSIndexSet' id=0x11edfb0>

In the result, it seems a problem around the oc2rb cache.

I noticed that NSCFString#dealloc is never called, therefore NSCFString entries
in the oc2rb cache won't be cleared, even when the NSCFString object had been
deallocated actually.

In my observation, an object of a class in a class cluster is not deallocated through
NSObject#dealloc.

So I added a check, if an object is in a class cluster, then give up to register it
to the oc2rb cache. It works good in my testing.

I committed the fix as r1986.

--
Satoshi Nakagawa




More information about the Rubycocoa-devel mailing list
Back to archive index