Merged changes in the trunk up to revision 35203.
[blender.git] / source / blender / blenkernel / intern / anim_sys.c
index 77d0f008c2bd65f69295a4ec47c03e0bd5a49eca..2268a1535bd77092f87ac5f08eae87f11408f504 100644 (file)
@@ -79,6 +79,7 @@ short id_type_can_have_animdata (ID *id)
                case ID_PA:
                case ID_MA: case ID_TE: case ID_NT:
                case ID_LA: case ID_CA: case ID_WO:
+               case ID_LS:
                case ID_SCE:
                {
                        return 1;
@@ -646,7 +647,7 @@ void BKE_animdata_main_cb (Main *mainptr, ID_AnimData_Edit_Callback func, void *
                AnimData *adt= BKE_animdata_from_id(id); \
                if (adt) func(id, adt, user_data); \
        }
-       
+
        /* "embedded" nodetree cases (i.e. scene/material/texture->nodetree) */
 #define ANIMDATA_NODETREE_IDS_CB(first, NtId_Type) \
        for (id= first; id; id= id->next) { \
@@ -658,13 +659,13 @@ void BKE_animdata_main_cb (Main *mainptr, ID_AnimData_Edit_Callback func, void *
                } \
                if (adt) func(id, adt, user_data); \
        }
-       
+
        /* nodes */
        ANIMDATA_IDS_CB(mainptr->nodetree.first);
-       
+               
        /* textures */
        ANIMDATA_NODETREE_IDS_CB(mainptr->tex.first, Tex);
-       
+               
        /* lamps */
        ANIMDATA_IDS_CB(mainptr->lamp.first);
        
@@ -703,7 +704,10 @@ void BKE_animdata_main_cb (Main *mainptr, ID_AnimData_Edit_Callback func, void *
        
        /* scenes */
        ANIMDATA_NODETREE_IDS_CB(mainptr->scene.first, Scene);
-}
+       
+       /* line styles */
+       ANIMDATA_IDS_CB(mainptr->linestyle.first);
+       }
 
 /* Fix all RNA-Paths throughout the database (directly access the Global.main version)
  * NOTE: it is assumed that the structure we're replacing is <prefix><["><name><"]>
@@ -779,10 +783,13 @@ void BKE_all_animdata_fix_paths_rename (char *prefix, char *oldName, char *newNa
        /* worlds */
        RENAMEFIX_ANIM_IDS(mainptr->world.first);
        
+       /* linestyles */
+       RENAMEFIX_ANIM_IDS(mainptr->linestyle.first);
+       
        /* scenes */
        RENAMEFIX_ANIM_NODETREE_IDS(mainptr->scene.first, Scene);
-}
-
+               }
+               
 /* *********************************** */ 
 /* KeyingSet API */
 
@@ -2127,6 +2134,9 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
        /* particles */
        EVAL_ANIM_IDS(main->particle.first, ADT_RECALC_ANIM);
        
+       /* linestyles */
+       EVAL_ANIM_IDS(main->linestyle.first, ADT_RECALC_ANIM);
+       
        /* objects */
                /* ADT_RECALC_ANIM doesn't need to be supplied here, since object AnimData gets 
                 * this tagged by Depsgraph on framechange. This optimisation means that objects