diff options
Diffstat (limited to 'Source/WebKit2/Platform/mac/ModuleMac.mm')
-rw-r--r-- | Source/WebKit2/Platform/mac/ModuleMac.mm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/WebKit2/Platform/mac/ModuleMac.mm b/Source/WebKit2/Platform/mac/ModuleMac.mm index 078e7ee..1ec60f3 100644 --- a/Source/WebKit2/Platform/mac/ModuleMac.mm +++ b/Source/WebKit2/Platform/mac/ModuleMac.mm @@ -48,6 +48,13 @@ bool Module::load() void Module::unload() { + ASSERT(m_bundle); + +#if !defined(__LP64__) + if (m_bundleResourceMap != -1) + CFBundleCloseBundleResourceMap(m_bundle.get(), m_bundleResourceMap); +#endif + // See the comment in Module.h for why we leak the bundle here. m_bundle.releaseRef(); } @@ -60,4 +67,14 @@ void* Module::platformFunctionPointer(const char* functionName) const return CFBundleGetFunctionPointerForName(m_bundle.get(), functionNameString.get()); } +#if !defined(__LP64__) +CFBundleRefNum Module::bundleResourceMap() +{ + if (m_bundleResourceMap == -1) + m_bundleResourceMap = CFBundleOpenBundleResourceMap(m_bundle.get()); + + return m_bundleResourceMap; +} +#endif + } |