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:
Kent Mein 2008-10-10 17:52:25 +00:00
parent d99fd92ffa
commit 2f9e0ec154
3 changed files with 10 additions and 8 deletions

@ -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";