[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32688] branches/soc-2008-mxcurioni/source /blender: * Another attempt to fix the bug partly addressed in revision 31419.

Tamito Kajiyama rd6t-kjym at asahi-net.or.jp
Sun Oct 24 18:10:45 CEST 2010


Revision: 32688
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32688
Author:   kjym3
Date:     2010-10-24 18:10:45 +0200 (Sun, 24 Oct 2010)

Log Message:
-----------
* Another attempt to fix the bug partly addressed in revision 31419.

* Fix for the missing function declaration of strcpy.  This caused
a linker error in the Debug build with x64 VC 2008 and CMake.

Revision Links:
--------------
    http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31419

Modified Paths:
--------------
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/linestyle.c
    branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Curve.cpp

Modified: branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/linestyle.c
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/linestyle.c	2010-10-24 16:01:21 UTC (rev 32687)
+++ branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/linestyle.c	2010-10-24 16:10:45 UTC (rev 32688)
@@ -30,6 +30,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 #include "MEM_guardedalloc.h"
 

Modified: branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Curve.cpp
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Curve.cpp	2010-10-24 16:01:21 UTC (rev 32687)
+++ branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Curve.cpp	2010-10-24 16:10:45 UTC (rev 32688)
@@ -84,8 +84,9 @@
     __B = iB->A();
     _t2d = t3;
   }
-  else if(iA->A() == iB->A() || (iA->A() != 0 && iB->A() != 0 && (iA->A()->point3d() - iB->A()->point3d()).norm() < 1e-6))
+  else if(iA->A() == iB->A())
   {
+iA_A_eq_iB_A:
     if(iA->t2d() == 0){
       __A = iB->A();
       __B = iB->B();
@@ -96,8 +97,9 @@
       _t2d = t3;
     }
   }
-  else if(iA->B() == iB->B() || (iA->B() != 0 && iB->B() != 0 && (iA->B()->point3d() - iB->B()->point3d()).norm() < 1e-6))
+  else if(iA->B() == iB->B())
   {
+iA_B_eq_iB_B:
     if(iA->t2d() == 1){
       __A = iB->A();
       __B = iB->B();
@@ -108,8 +110,9 @@
       _t2d = t3;
     }
   }
-  else if(iA->B() == iB->A() || (iA->B() != 0 && iB->A() != 0 && (iA->B()->point3d() - iB->A()->point3d()).norm() < 1e-6))
+  else if(iA->B() == iB->A())
   {
+iA_B_eq_iB_A:
     if((iA->t2d() != 1.f) && (iB->t2d() == 0.f))
     {
       __A = iA->A();
@@ -124,8 +127,22 @@
       //_t2d = t3;
       _t2d=t2*t3;
     }
-    
   }
+  else if(iA->A() != 0 && iB->A() != 0 && (iA->A()->point3d() - iB->A()->point3d()).norm() < 1e-6)
+  {
+	goto iA_A_eq_iB_A;
+  }
+  else if(iA->B() != 0 && iB->B() != 0 && (iA->B()->point3d() - iB->B()->point3d()).norm() < 1e-6)
+  {
+	goto iA_B_eq_iB_B;
+  }
+  else if(iA->B() != 0 && iB->A() != 0 && (iA->B()->point3d() - iB->A()->point3d()).norm() < 1e-6)
+  {
+	goto iA_B_eq_iB_A;
+  }
+  if (!__A || !__B) {
+	cerr << "Fatal error in CurvePoint::CurvePoint(CurvePoint *iA, CurvePoint *iB, float t3)" << endl;
+  }
   assert(__A != 0 && __B != 0);
 
   //_Point2d=__A->point2d()+_t2d*(__B->point2d()-__A->point2d());





More information about the Bf-blender-cvs mailing list