Revision: 15831
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15831
Author:   bdiego
Date:     2008-07-28 04:05:44 +0200 (Mon, 28 Jul 2008)

Log Message:
-----------
branches/blender-2.47

Merge from trunk:
        Revision: 15756
        Revision: 15758
        Revision: 15766
        Revision: 15768
        Revision: 15769
        Revision: 15772 (Only constraint mesh-targets)
        Revision: 15775
        Revision: 15776
        Revision: 15787
        Revision: 15803
        Revision: 15805

Modified Paths:
--------------
    branches/blender-2.47/source/blender/blenkernel/bad_level_call_stubs/stubs.c
    branches/blender-2.47/source/blender/blenkernel/intern/constraint.c
    branches/blender-2.47/source/blender/blenlib/intern/arithb.c
    branches/blender-2.47/source/blender/makesdna/DNA_constraint_types.h
    branches/blender-2.47/source/blender/python/BPY_interface.c
    branches/blender-2.47/source/blender/python/api2_2x/sceneRender.c
    branches/blender-2.47/source/blender/src/buttons_object.c
    branches/blender-2.47/source/blender/src/interface.c
    branches/blender-2.47/source/blender/src/sequence.c
    branches/blender-2.47/source/creator/creator.c
    branches/blender-2.47/source/gameengine/Ketsji/KX_PyMath.h
    branches/blender-2.47/source/gameengine/Ketsji/KX_TrackToActuator.cpp

Modified: 
branches/blender-2.47/source/blender/blenkernel/bad_level_call_stubs/stubs.c
===================================================================
--- 
branches/blender-2.47/source/blender/blenkernel/bad_level_call_stubs/stubs.c    
    2008-07-28 01:32:14 UTC (rev 15830)
+++ 
branches/blender-2.47/source/blender/blenkernel/bad_level_call_stubs/stubs.c    
    2008-07-28 02:05:44 UTC (rev 15831)
@@ -1,4 +1,3 @@
-
 /**
  * $Id$
  *
@@ -355,7 +354,8 @@
 
 /* editseq.c */
 Sequence *get_forground_frame_seq(int frame){return 0;};
-void set_last_seq(Sequence *seq){};
+void clear_last_seq(Sequence *seq){};
+    
 
 /* modifier.c stub */
 void harmonic_coordinates_bind(struct MeshDeformModifierData *mmd,

Modified: branches/blender-2.47/source/blender/blenkernel/intern/constraint.c
===================================================================
--- branches/blender-2.47/source/blender/blenkernel/intern/constraint.c 
2008-07-28 01:32:14 UTC (rev 15830)
+++ branches/blender-2.47/source/blender/blenkernel/intern/constraint.c 
2008-07-28 02:05:44 UTC (rev 15831)
@@ -558,8 +558,8 @@
        if (dgroup < 0) return;
        
        /* get DerivedMesh */
-       if (G.obedit && G.editMesh) {
-               /* we are in editmode, so get a special derived mesh */
+       if ((G.obedit == ob) && (G.editMesh)) {
+               /* target is in editmode, so get a special derived mesh */
                dm = CDDM_from_editmesh(G.editMesh, ob->data);
        }
        else {

Modified: branches/blender-2.47/source/blender/blenlib/intern/arithb.c
===================================================================
--- branches/blender-2.47/source/blender/blenlib/intern/arithb.c        
2008-07-28 01:32:14 UTC (rev 15830)
+++ branches/blender-2.47/source/blender/blenlib/intern/arithb.c        
2008-07-28 02:05:44 UTC (rev 15831)
@@ -2536,11 +2536,6 @@
 }
 
 
-
-                       /* copied from Geometry.c - todo - move to arithb.c or 
some other generic place we can reuse */
-#define SIDE_OF_LINE(pa,pb,pp) 
((pa[0]-pp[0])*(pb[1]-pp[1]))-((pb[0]-pp[0])*(pa[1]-pp[1]))
-#define POINT_IN_TRI(p0,p1,p2,p3)      ((SIDE_OF_LINE(p1,p2,p0)>=0) && 
(SIDE_OF_LINE(p2,p3,p0)>=0) && (SIDE_OF_LINE(p3,p1,p0)>=0))
-
 /**
  * 
  * @param min 

Modified: branches/blender-2.47/source/blender/makesdna/DNA_constraint_types.h
===================================================================
--- branches/blender-2.47/source/blender/makesdna/DNA_constraint_types.h        
2008-07-28 01:32:14 UTC (rev 15830)
+++ branches/blender-2.47/source/blender/makesdna/DNA_constraint_types.h        
2008-07-28 02:05:44 UTC (rev 15831)
@@ -375,11 +375,13 @@
                /* for objects (relative to parent/without parent influence), 
                 * for bones (along normals of bone, without 
parent/restpositions) 
                 */
-       CONSTRAINT_SPACE_LOCAL,
+       CONSTRAINT_SPACE_LOCAL, /* = 1 */
                /* for posechannels - pose space  */
-       CONSTRAINT_SPACE_POSE,
-               /* for posechannels - local with parent  */
-       CONSTRAINT_SPACE_PARLOCAL,
+       CONSTRAINT_SPACE_POSE, /* = 2 */
+               /* for posechannels - local with parent  */
+       CONSTRAINT_SPACE_PARLOCAL, /* = 3 */
+               /* for files from between 2.43-2.46 (should have been parlocal) 
*/
+       CONSTRAINT_SPACE_INVALID, /* = 4. do not exchange for anything! */
 } B_CONSTRAINT_SPACETYPES;
 
 /* bConstraintChannel.flag */

Modified: branches/blender-2.47/source/blender/python/BPY_interface.c
===================================================================
--- branches/blender-2.47/source/blender/python/BPY_interface.c 2008-07-28 
01:32:14 UTC (rev 15830)
+++ branches/blender-2.47/source/blender/python/BPY_interface.c 2008-07-28 
02:05:44 UTC (rev 15831)
@@ -417,12 +417,14 @@
        mod = PyImport_ImportModule( "sys" );   
        if (!mod) {
                printf("error: could not import python sys module. some modules 
may not import.\n");
+               PyGILState_Release(gilstate);
                return;
        }
        
        if (!bpy_orig_syspath_List) { /* should never happen */
                printf("error refershing python path\n");
                Py_DECREF(mod);
+               PyGILState_Release(gilstate);
                return;
        }
        

Modified: branches/blender-2.47/source/blender/python/api2_2x/sceneRender.c
===================================================================
--- branches/blender-2.47/source/blender/python/api2_2x/sceneRender.c   
2008-07-28 01:32:14 UTC (rev 15830)
+++ branches/blender-2.47/source/blender/python/api2_2x/sceneRender.c   
2008-07-28 02:05:44 UTC (rev 15831)
@@ -56,6 +56,7 @@
 #include "gen_utils.h"
 #include "gen_library.h"
 
+#include "../BPY_extern.h" /* for BPY_do_all_scripts() */
 #include "Scene.h"
 #include "Group.h"
 
@@ -469,19 +470,20 @@
 PyObject *RenderData_Render( BPy_RenderData * self )
 {
        Scene *oldsce;
+       /* unlock to prevent a deadlock when there are pynodes: */
+       PyThreadState *tstate = NULL;
 
        if (!G.background) {
                oldsce = G.scene;
                set_scene( self->scene );
+               tstate = PyEval_SaveThread();
                BIF_do_render( 0 );
                set_scene( oldsce );
        }
-
        else { /* background mode (blender -b file.blend -P script) */
+               int slink_flag = 0;
                Render *re= RE_NewRender(G.scene->id.name);
 
-
-
                int end_frame = G.scene->r.efra;
 
                if (G.scene != self->scene)
@@ -490,11 +492,25 @@
 
                G.scene->r.efra = G.scene->r.sfra;
 
+               if (G.f & G_DOSCRIPTLINKS) {
+                       BPY_do_all_scripts(SCRIPT_RENDER);
+                       G.f &= ~G_DOSCRIPTLINKS; /* avoid FRAMECHANGED events*/
+                       slink_flag = 1;
+               }
+
+               tstate = PyEval_SaveThread();
+
                RE_BlenderAnim(re, G.scene, G.scene->r.sfra, G.scene->r.efra);
 
+               if (slink_flag) {
+                       G.f |= G_DOSCRIPTLINKS;
+                       BPY_do_all_scripts(SCRIPT_POSTRENDER);
+               }
+
                G.scene->r.efra = end_frame;
        }
 
+       PyEval_RestoreThread(tstate);
        Py_RETURN_NONE;
 }
 
@@ -565,10 +581,13 @@
 PyObject *RenderData_RenderAnim( BPy_RenderData * self )
 {
        Scene *oldsce;
-
+       /* unlock to prevent a deadlock when there are pynodes: */
+       PyThreadState *tstate = NULL;
+               
        if (!G.background) {
                oldsce = G.scene;
                set_scene( self->scene );
+               tstate = PyEval_SaveThread();
                BIF_do_render( 1 );
                set_scene( oldsce );
        }
@@ -582,9 +601,18 @@
                if (G.scene->r.sfra > G.scene->r.efra)
                        return EXPP_ReturnPyObjError (PyExc_RuntimeError,
                                "start frame must be less or equal to end 
frame");
-               
+
+               if (G.f & G_DOSCRIPTLINKS)
+                       BPY_do_all_scripts(SCRIPT_RENDER);
+
+               tstate = PyEval_SaveThread();
                RE_BlenderAnim(re, G.scene, G.scene->r.sfra, G.scene->r.efra);
+
+               if (G.f & G_DOSCRIPTLINKS)
+                       BPY_do_all_scripts(SCRIPT_POSTRENDER);
        }
+
+       PyEval_RestoreThread(tstate);
        Py_RETURN_NONE;
 }
 

Modified: branches/blender-2.47/source/blender/src/buttons_object.c
===================================================================
--- branches/blender-2.47/source/blender/src/buttons_object.c   2008-07-28 
01:32:14 UTC (rev 15830)
+++ branches/blender-2.47/source/blender/src/buttons_object.c   2008-07-28 
02:05:44 UTC (rev 15831)
@@ -480,7 +480,7 @@
        
        /* Target-Space */
        if (target == 1) {
-               uiDefButC(block, MENU, B_CONSTRAINT_TEST, "Target Space 
%t|World Space %x0|Pose Space %x3|Local with Parent %x4|Local Space %x1", 
+               uiDefButC(block, MENU, B_CONSTRAINT_TEST, "Target Space 
%t|World Space %x0|Pose Space %x2|Local with Parent %x3|Local Space %x1", 
                                                                                
                tarx, yco, bwidth, 18, &con->tarspace, 0, 0, 0, 0, "Choose 
space that target is evaluated in"); 
        }
        else if (target == 0) {
@@ -490,7 +490,7 @@
        
        /* Owner-Space */
        if (owner == 1) {
-               uiDefButC(block, MENU, B_CONSTRAINT_TEST, "Owner Space %t|World 
Space %x0|Pose Space %x3|Local with Parent %x4|Local Space %x1", 
+               uiDefButC(block, MENU, B_CONSTRAINT_TEST, "Owner Space %t|World 
Space %x0|Pose Space %x2|Local with Parent %x3|Local Space %x1", 
                                                                                
                ownx, yco, bwidth, 18, &con->ownspace, 0, 0, 0, 0, "Choose 
space that owner is evaluated in");  
        }
        else if (owner == 0) {

Modified: branches/blender-2.47/source/blender/src/interface.c
===================================================================
--- branches/blender-2.47/source/blender/src/interface.c        2008-07-28 
01:32:14 UTC (rev 15830)
+++ branches/blender-2.47/source/blender/src/interface.c        2008-07-28 
02:05:44 UTC (rev 15831)
@@ -532,7 +532,7 @@
                        /* give butfunc the original text too */
                        /* feature used for bone renaming, channels, etc */
                        if(but->func_arg2==NULL) {
-                               strncpy(backstr, but->drawstr, UI_MAX_DRAW_STR);
+                               strncpy(backstr, but->poin, UI_MAX_DRAW_STR);
                                but->func_arg2= backstr;
                        }
                        strncpy(but->poin, but_copypaste_str, but->max);

Modified: branches/blender-2.47/source/blender/src/sequence.c
===================================================================
--- branches/blender-2.47/source/blender/src/sequence.c 2008-07-28 01:32:14 UTC 
(rev 15830)
+++ branches/blender-2.47/source/blender/src/sequence.c 2008-07-28 02:05:44 UTC 
(rev 15831)
@@ -1470,8 +1470,8 @@
                dy = sy;
 
                if (seq->flag & SEQ_USE_TRANSFORM) {
-                       dx = seqrectx;
-                       dy = seqrecty;
+                       dx = G.scene->r.xsch;
+                       dy = G.scene->r.ysch;
                }
 
                if (c.top + c.bottom >= se->ibuf->y ||

Modified: branches/blender-2.47/source/creator/creator.c
===================================================================
--- branches/blender-2.47/source/creator/creator.c      2008-07-28 01:32:14 UTC 
(rev 15830)
+++ branches/blender-2.47/source/creator/creator.c      2008-07-28 02:05:44 UTC 
(rev 15831)
@@ -618,8 +618,23 @@
                                if (G.scene) {
                                        if (a < argc) {
                                                int frame= MIN2(MAXFRAME, 
MAX2(1, atoi(argv[a])));
+                                               int slink_flag= 0;
                                                Render *re= 
RE_NewRender(G.scene->id.name);
+
+                                               if (G.f & G_DOSCRIPTLINKS) {
+                                                       
BPY_do_all_scripts(SCRIPT_RENDER);
+                                                       /* avoid FRAMECHANGED 
slink event
+                                                        * (should only be 
triggered in anims): */
+                                                       G.f &= ~G_DOSCRIPTLINKS;
+                                                       slink_flag= 1;
+                                               }
+
                                                RE_BlenderAnim(re, G.scene, 
frame, frame);
+
+                                               if (slink_flag) {
+                                                       G.f |= G_DOSCRIPTLINKS;
+                                                       
BPY_do_all_scripts(SCRIPT_POSTRENDER);
+                                               }
                                        }
                                } else {
                                        printf("\nError: no blend loaded. 
cannot use '-f'.\n");
@@ -628,7 +643,14 @@
                        case 'a':
                                if (G.scene) {
                                        Render *re= 
RE_NewRender(G.scene->id.name);
+
+                                       if (G.f & G_DOSCRIPTLINKS)
+                                               
BPY_do_all_scripts(SCRIPT_RENDER);
+
                                        RE_BlenderAnim(re, G.scene, 
G.scene->r.sfra, G.scene->r.efra);
+
+                                       if (G.f & G_DOSCRIPTLINKS)
+                                               
BPY_do_all_scripts(SCRIPT_POSTRENDER);
                                } else {
                                        printf("\nError: no blend loaded. 
cannot use '-a'.\n");
                                }

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_PyMath.h
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_PyMath.h  2008-07-28 
01:32:14 UTC (rev 15830)

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to