This commit fixes bug: [#17770] Texture Plugins do not work. (on windows)
Thanks to Lguillaume for helping with this one. Had to go back to bug: [#17631] PIL_dynlib_get_error_as_string() returns NULL, causes crash and revert the fix and make some new updates. function needs to return NULL so fix the functions that were assuming it always returns a string. Kent
This commit is contained in:
parent
d99fd92ffa
commit
2f9e0ec154
@ -78,10 +78,7 @@ char *PIL_dynlib_get_error_as_string(PILdynlib* lib) {
|
||||
|
||||
/* if lib is NULL reset the last error code */
|
||||
err= GetLastError();
|
||||
if (!lib) {
|
||||
SetLastError(ERROR_SUCCESS);
|
||||
err = ERROR_SUCCESS;
|
||||
}
|
||||
if (!lib) SetLastError(ERROR_SUCCESS);
|
||||
|
||||
if (err) {
|
||||
static char buf[1024];
|
||||
@ -96,7 +93,7 @@ char *PIL_dynlib_get_error_as_string(PILdynlib* lib) {
|
||||
return buf;
|
||||
}
|
||||
|
||||
return "unrecognized error";
|
||||
return err;
|
||||
}
|
||||
|
||||
void PIL_dynlib_close(PILdynlib *lib) {
|
||||
|
@ -106,8 +106,11 @@ void *libtiff_findsymbol(char *name)
|
||||
assert(libtiff != NULL);
|
||||
symbol = PIL_dynlib_find_symbol(libtiff, name);
|
||||
if (symbol == NULL) {
|
||||
printf("libtiff_findsymbol: error %s\n",
|
||||
PIL_dynlib_get_error_as_string(libtiff));
|
||||
char *err = PIL_dynlib_get_error_as_string(libtiff);
|
||||
|
||||
if (err) printf("libtiff_findsymbol: error %s\n",err);
|
||||
else printf("libtiff_findsymbol: error Unknown.\n");
|
||||
|
||||
libtiff = NULL;
|
||||
G.have_libtiff = (0);
|
||||
return NULL;
|
||||
|
@ -171,7 +171,9 @@ bool yafrayPluginRender_t::initExport()
|
||||
corehandle = PIL_dynlib_open((char *)(location + "\\yafraycore.dll").c_str());
|
||||
if (corehandle==NULL)
|
||||
{
|
||||
cerr << "Error loading yafray plugin: " << PIL_dynlib_get_error_as_string(corehandle) << endl;
|
||||
char *err = PIL_dynlib_get_error_as_string(corehandle);
|
||||
if (err) cerr << "Error loading yafray plugin: " << err << endl;
|
||||
else cerr << "Error loading yafray plugin: Unknown." << endl;
|
||||
return false;
|
||||
}
|
||||
location += "\\yafrayplugin.dll";
|
||||
|
Loading…
Reference in New Issue
Block a user