[Rubycocoa-devel 537] Re: Can't get Objective-C method signature for selector

Back to archive index

Laurent Sansonetti lsans****@apple*****
Tue Jan 2 08:55:29 JST 2007


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




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