[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54279] trunk/blender/source/blender/ blenloader/intern/readfile.c: Fix for [#34089] Crash opening file containing translation node saved before rev54235
Jeroen Bakker
j.bakker at atmind.nl
Thu Feb 7 15:37:03 CET 2013
Hi Ton,
well drawing node (uses RNA) and Python API also crashes and these
happen before the compositor system is executed. During loading seems to
be the best option. These versioning hacks are for new features (that
are not available in older blender versions. They only crash when node
didn't had storage assigned. There are only a few nodes left without
storage.
Jeroen
- At Mind -
On 02/07/2013 01:55 PM, Ton Roosendaal wrote:
> Hi Jeroen,
>
> The amount of versioning hacks in Blender nodes is growing really out of control.
>
> If you decide to change the specification of nodes, it could be designed in a way that the code (node execs) handle it, without changing the file spec.
>
> Now it seems like trunk-saved translation nodes won't work in 2.65a?
>
> -Ton-
>
> ------------------------------------------------------------------------
> Ton Roosendaal Blender Foundation ton at blender.org www.blender.org
> Blender Institute Entrepotdok 57A 1018AD Amsterdam The Netherlands
>
> On 3 Feb, 2013, at 16:38, Jeroen Bakker wrote:
>
>> Revision: 54279
>> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54279
>> Author: jbakker
>> Date: 2013-02-03 15:38:06 +0000 (Sun, 03 Feb 2013)
>> Log Message:
>> -----------
>> Fix for [#34089] Crash opening file containing translation node saved before rev54235
>>
>> Revision Links:
>> --------------
>> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54235
>>
>> Modified Paths:
>> --------------
>> trunk/blender/source/blender/blenloader/intern/readfile.c
>>
>> Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
>> ===================================================================
>> --- trunk/blender/source/blender/blenloader/intern/readfile.c 2013-02-03 15:06:16 UTC (rev 54278)
>> +++ trunk/blender/source/blender/blenloader/intern/readfile.c 2013-02-03 15:38:06 UTC (rev 54279)
>> @@ -7342,6 +7342,17 @@
>> }
>> }
>>
>> +static void do_version_node_fix_translate_wrapping(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
>> +{
>> + bNode *node;
>> +
>> + for (node = ntree->nodes.first; node; node = node->next) {
>> + if (node->type == CMP_NODE_TRANSLATE && node->storage == NULL) {
>> + node->storage = MEM_callocN(sizeof(NodeTranslateData), "node translate data");
>> + }
>> + }
>> +}
>> +
>> static void do_version_node_fix_internal_links_264(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
>> {
>> bNode *node;
>> @@ -8716,6 +8727,17 @@
>> }
>> }
>>
>> + // add storage for compositor translate nodes when not existing
>> + if (!MAIN_VERSION_ATLEAST(main, 265, 9)) {
>> + bNodeTreeType *ntreetype;
>> +
>> + ntreetype = ntreeGetType(NTREE_COMPOSIT);
>> + if (ntreetype && ntreetype->foreach_nodetree)
>> + ntreetype->foreach_nodetree(main, NULL, do_version_node_fix_translate_wrapping);
>> + }
>> +
>> +
>> +
>> // if (main->versionfile < 265 || (main->versionfile == 265 && main->subversionfile < 7)) {
>>
>> /* WATCH IT!!!: pointers from libdata have not been converted yet here! */
>>
>> _______________________________________________
>> Bf-blender-cvs mailing list
>> Bf-blender-cvs at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>
More information about the Bf-committers
mailing list