[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48517] trunk/blender/source/blender/ blenkernel/intern/depsgraph.c: Ack! Missed some compiler warnings

Dalai Felinto dfelinto at gmail.com
Thu Jul 5 19:46:01 CEST 2012


Hi,

I'm getting a crash with old files after this commit:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00007fff5f3ffff8
0x00000001009441b5 in dag_add_material_driver_relations (dag=0x10bb044b8,
node=0x10bb03148, ma=0x11386b3e8) at depsgraph.c:389

389 dag_add_material_nodetree_driver_relations(dag, node, ma->nodetree);

I tried to get a backtrace but all I get is :
#0  0x00000001009441b5 in dag_add_material_driver_relations
(dag=0x10bb044b8, node=0x10bb03148, ma=0x11386b3e8) at depsgraph.c:389
#1  0x00000001009440d3 in dag_add_material_nodetree_driver_relations
(dag=0x10bb044b8, node=0x10bb03148, ntree=0x11386bc78) at depsgraph.c:367

repeated ad eternum (I had to stop gdb manually)

Thanks,
Dalai

2012/7/2 Joshua Leung <aligorith at gmail.com>

> Revision: 48517
>
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48517
> Author:   aligorith
> Date:     2012-07-03 05:36:36 +0000 (Tue, 03 Jul 2012)
> Log Message:
> -----------
> Ack! Missed some compiler warnings
>
> Modified Paths:
> --------------
>     trunk/blender/source/blender/blenkernel/intern/depsgraph.c
>
> Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
> ===================================================================
> --- trunk/blender/source/blender/blenkernel/intern/depsgraph.c  2012-07-03
> 05:30:19 UTC (rev 48516)
> +++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c  2012-07-03
> 05:36:36 UTC (rev 48517)
> @@ -66,6 +66,7 @@
>  #include "BKE_library.h"
>  #include "BKE_main.h"
>  #include "BKE_node.h"
> +#include "BKE_material.h"
>  #include "BKE_mball.h"
>  #include "BKE_modifier.h"
>  #include "BKE_object.h"
> @@ -311,7 +312,7 @@
>         for (fcu = adt->drivers.first; fcu; fcu = fcu->next) {
>                 ChannelDriver *driver = fcu->driver;
>                 DriverVar *dvar;
> -               int isdata_fcu = isdata || (fcu->rna_path &&
> strstr(fcu->rna_path, "modifiers["));
> +               int isdata_fcu = (isdata) || (fcu->rna_path &&
> strstr(fcu->rna_path, "modifiers["));
>
>                 /* loop over variables to get the target relationships */
>                 for (dvar = driver->variables.first; dvar; dvar =
> dvar->next) {
> @@ -348,25 +349,8 @@
>  }
>
>  /* XXX: forward def for material driver handling... */
> -static void dag_add_material_nodetree_driver_relations(DagForest *dag,
> DagNode *node, bNodeTree *ntree);
> +static void dag_add_material_driver_relations(DagForest *dag, DagNode
> *node, Material *ma);
>
> -/* recursive handling for material drivers */
> -static void dag_add_material_driver_relations(DagForest *dag, DagNode
> *node, Material *ma)
> -{
> -       /* material itself */
> -       if (ma->adt) {
> -               dag_add_driver_relation(ma->adt, dag, node, 1);
> -       }
> -
> -       /* textures */
> -       // TODO...
> -       //dag_add_texture_driver_relations(DagForest *dag, DagNode *node,
> ID *id);
> -
> -       /* material's nodetree */
> -       if (ma->nodetree) {
> -               dag_add_material_nodetree_driver_relations(dag, node,
> ma->nodetree);
> -       }
> -}
>  /* recursive handling for material nodetree drivers */
>  static void dag_add_material_nodetree_driver_relations(DagForest *dag,
> DagNode *node, bNodeTree *ntree)
>  {
> @@ -388,8 +372,24 @@
>         }
>  }
>
> +/* recursive handling for material drivers */
> +static void dag_add_material_driver_relations(DagForest *dag, DagNode
> *node, Material *ma)
> +{
> +       /* material itself */
> +       if (ma->adt) {
> +               dag_add_driver_relation(ma->adt, dag, node, 1);
> +       }
> +
> +       /* textures */
> +       // TODO...
> +       //dag_add_texture_driver_relations(DagForest *dag, DagNode *node,
> ID *id);
> +
> +       /* material's nodetree */
> +       if (ma->nodetree) {
> +               dag_add_material_nodetree_driver_relations(dag, node,
> ma->nodetree);
> +       }
> +}
>
> -
>  static void dag_add_collision_field_relation(DagForest *dag, Scene
> *scene, Object *ob, DagNode *node)
>  {
>         Base *base;
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>


More information about the Bf-committers mailing list