Hi Alex, this works for me! 1. Alternativ framework 'Foundation'
class Foo def bar puts "hallo" end end queue = NSOperationQueue.alloc.init #queue.addOperation operation queue.addOperationWithBlock ->{ Foo.new.bar } NSRunLoop.currentRunLoop.runUntilDate(NSDate.dateWithTimeIntervalSinceNow(2.0)) _____________________________________________________________________ 2. Alternativ class Foo < NSOperation def main p :hallo end end queue = NSOperationQueue.alloc.init operation = Foo.new queue.addOperation operation NSRunLoop.currentRunLoop.runUntilDate(NSDate.dateWithTimeIntervalSinceNow(2.0)) _____________________________________________________________________ 3. Alternativ framework 'Foundation' class Foo def bar p :hallo end end queue = NSOperationQueue.alloc.init operation = NSInvocationOperation.alloc.initWithTarget Foo.new, selector: :bar, object: nil queue.addOperation operation NSRunLoop.currentRunLoop.runUntilDate(NSDate.dateWithTimeIntervalSinceNow(2.0)) Mateus > The following code crashes with a segmentation fault. > Any idea whether I misunderstood the usage or it is a macruby bug? > > thanks, > ALex. > > ---code------------------------------------------- > framework 'Foundation' > > class Foo > def bar > puts 'bar' > end > end > > operation = NSInvocationOperation.alloc.initWithTarget Foo.new, selector: > 'bar', object: nil > > queue = NSOperationQueue.alloc.init > queue.addOperation(operation) > > # run the main loop for 2 seconds > NSRunLoop.currentRunLoop.runUntilDate(NSDate.dateWithTimeIntervalSinceNow(2.0)) _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel