[MacRuby] #1217: C-level block crashes application
#1217: C-level block crashes application ----------------------------------+----------------------------------------- Reporter: geetarista@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: MacRuby 0.11 Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- When trying to pass a block as the completion handler for beginSheetModalForWindow, my application crashes. Machines installed with BridgeSupport preview 3 work just fine, and passing the --bs flag to embed all bridgesupport files does not resolve. Crash report indicates EXE_BAD_ACCES. On a side note, is there any way to test distribution for computers without latest BridgeSupport? Currently I have to send a build out to a user and have them check console and crash reports to debug what's going on. It would be nice to be able to somehow do that locally, or at least be able to revert BridgeSupport version when testing. Code: {{{ def browse(sender) dialog = NSOpenPanel.openPanel dialog.canChooseFiles = false dialog.canChooseDirectories = true dialog.allowsMultipleSelection = false dialog.canCreateDirectories = true dialog.beginSheetModalForWindow( sender.window, completionHandler:Proc.new { |pressed| if (pressed == NSOKButton) puts "YAY!" end } ) end }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/1217> MacRuby <http://macruby.org/>
#1217: C-level block crashes application ----------------------------------+----------------------------------------- Reporter: geetarista@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: MacRuby 1.0 Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Changes (by lsansonetti@…): * milestone: MacRuby 0.11 => MacRuby 1.0 Comment: Thanks for reporting this issue. We must fix it in the next micro release. To answer your side question, the only way to verify that your application will run on other environments would be in this case to temporarily remove the BridgeSupport files of your system, this way MacRuby will be forced to read the files that are embedded inside the app (if you pass --bs of course). The following command (warning: untested) might do it, by renaming all BridgeSupport directories into something else that MacRuby won't pick: find /System/Library/Frameworks -name BridgeSupport -exec mv {} BridgeSupport.old \; -- Ticket URL: <http://www.macruby.org/trac/ticket/1217#comment:1> MacRuby <http://macruby.org/>
#1217: C-level block crashes application ----------------------------------+----------------------------------------- Reporter: geetarista@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: blocker | Milestone: MacRuby 0.11 Component: MacRuby | Resolution: fixed Keywords: | ----------------------------------+----------------------------------------- Changes (by lsansonetti@…): * status: new => closed * resolution: => fixed * milestone: MacRuby 1.0 => MacRuby 0.11 Comment: Should be fixed by https://github.com/MacRuby/MacRuby/commit/eedc8a3b28adc6933087e3b2694e2a1d90... -- Ticket URL: <http://www.macruby.org/trac/ticket/1217#comment:2> MacRuby <http://macruby.org/>
#1217: C-level block crashes application ----------------------------------+----------------------------------------- Reporter: geetarista@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: blocker | Milestone: MacRuby 0.11 Component: MacRuby | Resolution: fixed Keywords: | ----------------------------------+----------------------------------------- Comment(by geetarista@…): Thanks Laurent! Works great. -- Ticket URL: <http://www.macruby.org/trac/ticket/1217#comment:3> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby