Revision: 17008
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17008
Author:   sirdude
Date:     2008-10-10 19:52:25 +0200 (Fri, 10 Oct 2008)

Log Message:
-----------
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

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/intern/dynlib.c
    trunk/blender/source/blender/imbuf/intern/dynlibtiff.c
    trunk/blender/source/blender/yafray/intern/export_Plugin.cpp

Modified: trunk/blender/source/blender/blenlib/intern/dynlib.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/dynlib.c        2008-10-10 
14:22:54 UTC (rev 17007)
+++ trunk/blender/source/blender/blenlib/intern/dynlib.c        2008-10-10 
17:52:25 UTC (rev 17008)
@@ -78,10 +78,7 @@
 
        /* 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 @@
                        return buf;
        }
        
-       return "unrecognized error";
+       return err;
 }
 
 void PIL_dynlib_close(PILdynlib *lib) {

Modified: trunk/blender/source/blender/imbuf/intern/dynlibtiff.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/dynlibtiff.c      2008-10-10 
14:22:54 UTC (rev 17007)
+++ trunk/blender/source/blender/imbuf/intern/dynlibtiff.c      2008-10-10 
17:52:25 UTC (rev 17008)
@@ -106,8 +106,11 @@
        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;

Modified: trunk/blender/source/blender/yafray/intern/export_Plugin.cpp
===================================================================
--- trunk/blender/source/blender/yafray/intern/export_Plugin.cpp        
2008-10-10 14:22:54 UTC (rev 17007)
+++ trunk/blender/source/blender/yafray/intern/export_Plugin.cpp        
2008-10-10 17:52:25 UTC (rev 17008)
@@ -171,7 +171,9 @@
                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";


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to