[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60841] trunk/blender/source/blender/imbuf /intern/oiio/openimageio_api.cpp: Add debug prints to the PSD loader in imbuf.

Shinsuke Irie irieshinsuke at yahoo.co.jp
Fri Oct 18 12:43:54 CEST 2013


Revision: 60841
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60841
Author:   irie
Date:     2013-10-18 10:43:54 +0000 (Fri, 18 Oct 2013)
Log Message:
-----------
Add debug prints to the PSD loader in imbuf.  The error message can be obtained from OIIO by geterror().

Modified Paths:
--------------
    trunk/blender/source/blender/imbuf/intern/oiio/openimageio_api.cpp

Modified: trunk/blender/source/blender/imbuf/intern/oiio/openimageio_api.cpp
===================================================================
--- trunk/blender/source/blender/imbuf/intern/oiio/openimageio_api.cpp	2013-10-18 09:45:21 UTC (rev 60840)
+++ trunk/blender/source/blender/imbuf/intern/oiio/openimageio_api.cpp	2013-10-18 10:43:54 UTC (rev 60841)
@@ -98,11 +98,17 @@
 
 	try
 	{
-		in->read_image(TypeDesc::UINT8,
-		               (uchar *)ibuf->rect + (height - 1) * scanlinesize,
-		               AutoStride,
-		               -scanlinesize,
-		               AutoStride);
+		if (!in->read_image(TypeDesc::UINT8,
+				    (uchar *)ibuf->rect + (height - 1) * scanlinesize,
+				    AutoStride,
+				    -scanlinesize,
+				    AutoStride)) {
+			std::cerr << __func__ << ": ImageInput::read_image() failed:" << std::endl
+				  << in->geterror() << std::endl;
+			if (ibuf) IMB_freeImBuf(ibuf);
+
+			return NULL;
+		}
 	}
 	catch (const std::exception &exc)
 	{
@@ -128,11 +134,17 @@
 
 	try
 	{
-		in->read_image(TypeDesc::FLOAT,
-		               (uchar *)ibuf->rect_float + (height - 1) * scanlinesize,
-		               AutoStride,
-		               -scanlinesize,
-		               AutoStride);
+		if (!in->read_image(TypeDesc::FLOAT,
+				    (uchar *)ibuf->rect_float + (height - 1) * scanlinesize,
+				    AutoStride,
+				    -scanlinesize,
+				    AutoStride)) {
+			std::cerr << __func__ << ": ImageInput::read_image() failed:" << std::endl
+				  << in->geterror() << std::endl;
+			if (ibuf) IMB_freeImBuf(ibuf);
+
+			return NULL;
+		}
 	}
 	catch (const std::exception &exc)
 	{
@@ -191,12 +203,18 @@
 	colorspace_set_default_role(colorspace, IM_MAX_SPACE, COLOR_ROLE_DEFAULT_BYTE);
 
 	in = ImageInput::create(filename);
-	if (!in) return NULL;
+	if (!in) {
+		std::cerr << __func__ << ": ImageInput::create() failed:" << std::endl
+			  << OpenImageIO::geterror() << std::endl;
+		return NULL;
+	}
 
 	ImageSpec spec, config;
 	config.attribute("oiio:UnassociatedAlpha", (int) 1);
 
 	if (!in->open(filename, spec, config)) {
+		std::cerr << __func__ << ": ImageInput::open() failed:" << std::endl
+			  << in->geterror() << std::endl;
 		delete in;
 		return NULL;
 	}




More information about the Bf-blender-cvs mailing list