don't abort if a shared library can't be loaded under OS X, just return an error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -99,22 +99,28 @@ const char *dlerror()
|
|||||||
|
|
||||||
void *dlopen(const char *path, int WXUNUSED(mode) /* mode is ignored */)
|
void *dlopen(const char *path, int WXUNUSED(mode) /* mode is ignored */)
|
||||||
{
|
{
|
||||||
int dyld_result;
|
|
||||||
NSObjectFileImage ofile;
|
NSObjectFileImage ofile;
|
||||||
NSModule handle = NULL;
|
NSModule handle = NULL;
|
||||||
|
|
||||||
dyld_result = NSCreateObjectFileImageFromFile(path, &ofile);
|
int dyld_result = NSCreateObjectFileImageFromFile(path, &ofile);
|
||||||
if (dyld_result != NSObjectFileImageSuccess)
|
if ( dyld_result != NSObjectFileImageSuccess )
|
||||||
{
|
{
|
||||||
TranslateError(path, dyld_result);
|
handle = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// NSLinkModule will cause the run to abort on any link error's
|
handle = NSLinkModule
|
||||||
// not very friendly but the error recovery functionality is limited.
|
(
|
||||||
handle = NSLinkModule(ofile, path, NSLINKMODULE_OPTION_BINDNOW);
|
ofile,
|
||||||
|
path,
|
||||||
|
NSLINKMODULE_OPTION_BINDNOW |
|
||||||
|
NSLINKMODULE_OPTION_RETURN_ON_ERROR
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( !handle )
|
||||||
|
TranslateError(path, dyld_result);
|
||||||
|
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user