Laurent Sansonetti
lsans****@apple*****
Tue Jan 2 21:56:30 JST 2007
Hey, it was easier than expected, I just committed a fix there (with some new test cases). If you can check it out, it would be great (I didn't test it on Tiger yet :-)). Laurent On Jan 2, 2007, at 12:55 AM, Laurent Sansonetti wrote: > Hi Nicholas, > > Thanks for the report, Chris also found the same problem I think. This > is a regression introduced by the FFI support, I have a local fix > right now but it's not fully complete, I expect to check in it in a > couple of days. > > Laurent > > On Dec 29, 2006, at 8:56 AM, lc3b****@mac***** wrote: > >> Hi. >> >> (This is my first time on the list so I apologize if I am not >> following the "standard" way of asking.) >> >> For fun I made a RubyCocoa version of the RaiseManager from the Cocoa >> Programming book (2nd edition). This is different from the one in / >> Developer/Examples/RubyCocoa/RubyRaiseMan because it uses bindings >> and also has support for undo. >> >> The code (http://blog.vazexqi.com/files/RubyRaiseMan.tgz) works fine >> with rubycocoa-0.5.0.1 but fails with the rubycocoa-unstable(svn- >> revision 1312). It builds fine but while trying to insert a new >> employee I get this error: >> >> 2006-12-29 01:34:15.313 RubyRaiseMan[15052] *** NSRunLoop ignoring >> exception 'NSUndoManager#removeObjectFromEmployeesAtIndex: - Can't >> get Objective-C method signature for selector >> 'removeObjectFromEmployeesAtIndex:' of receiver #<OSX::NSUndoManager: >> 0x2f680e class='NSUndoManager' id=0x16006420>' that raised during >> posting of delayed perform with target 11fc640 and selector >> 'invokeWithTarget:' >> >> And this is the method that caused the error: >> >> [MyDocument.rb: 63-74] >> >> def insertObject_inEmployeesAtIndex(person, index) >> OSX::NSLog("insertObject called") >> undo_manager = self.undoManager >> (undo_manager.prepareWithInvocationTarget >> (self)).removeObjectFromEmployeesAtIndex(index) >> >> unless undo_manager.isUndoing? >> undo_manager.setActionName("Insert Person") >> end >> >> self.startObservingPerson(person) >> @employees.insert(index, person) >> end >> >> >> removeObjectFromEmployeesAtIndex has been defined somewhere below >> that method. If I just do the insert (and also remove) without the >> registering with NSUndoManager it works. >> >> I scanned through the ChangeLog but was not able to determine which >> change broke the application. Any help would be appreciated. >> >> Incidentally, there are other problems with the application with >> application as well: preferences not updating, crashing on edit but I >> hope solving the problem with NSUndoManager will yield some insight >> to them. >> >> Thanks. >> >> >> -- >> Nicholas Chen >> >> >> _______________________________________________ >> Rubycocoa-devel mailing list >> Rubyc****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel > > _______________________________________________ > Rubycocoa-devel mailing list > Rubyc****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel