Laurent Sansonetti
lsans****@apple*****
Sun Feb 18 20:13:37 JST 2007
Hi Kimura-san, Hisa-san, On Feb 18, 2007, at 7:49 AM, Fujimoto Hisa wrote: > On 2007/02/18, at 13:28, Fujimoto Hisa wrote: > >> Hi guys, >> >> On 2007/02/18, at 11:29, kimura wataru wrote: >> >>> On Sat, 17 Feb 2007 17:35:43 +0100, Laurent Sansonetti wrote: >>>> Hi Kimura-san, >>>> >>>> This looks good, however why would this be needed in reality? >>>> Normally you don't have to objc_export the informal protocol >>>> methods >>>> as RubyCocoa will handle this in RBObject. From the Objective-C >>>> runtime it doesn't matter if the informal protocol method is >>>> objc_exported or not. >>>> >>> >>> Thanks Laurent, you are just right. It's my misunderstanding. >>> >>> I talked with hisa that sample/Fortune.wdgt requires objc_export for >>> informal protocols. We thought this feature will solve the problem, >>> but not. >>> >>> Now, I found the cause of the problem. >>> RubyCocoa do not load bridge support files when its framework >>> (NSBundle) >>> are already loaded. >>> >>> Fortune.wdgt: >>> * WebKit.framework are loaded by Dashboard >>> -> RubyCocoa don't load WebKit.bridgesupport >>> -> RubyCocoa cannot handle the WebScripting informal protocol >>> >>> .bundle >>> * AppKit.framework are loaded by a host application >>> -> RubyCocoa don't load AppKit.bridgesupport >>> -> RubyCocoa cannot find NSApp, NSRunAlertPanel,.. >>> >>> >>> I'll try to fix this. >> >> I talked about it with Kimura-san while ago. >> I've fix this issue to modify around require_framework of >> oc_import.rb. I'll commit it soon, after testing a bit. > > i've committed this into the apple-unstable. I see the problem, thanks! Sorry I couldn't investigate the problem myself :( I modified a bit the fix (and also fixed it so that you can include OSX and then do require_framework without any problem). And I added 2 test cases in tc_bs.rb. Laurent