Page MenuHome

Child object wont move with parent
Closed, InvalidPublic

Description

I parented a default cube mesh to another cube mesh.the parent object exists in two scenes.
The two scenes are shown in two separate windows.if i move the parent object the child object's
position is not updated.

blender version: 2.65.0 , r52859 (official build)

to reproduce the bug
1) Open attached blend file
2) in window showing 'Scene.001',move 'Cube' object (already selected)
3) Cube.001 wont follow parent
4) close the window showing 'Scene'
5) now it works as expected


Details

Type
Bug

Event Timeline

Yes - known problem this. Both depsgraphs in scenes differ, and conflict with each other (because they get evaluated, and write to same object different data).

Nice example to store in our wiki for later reference. As for now, opening 2 scenes in 2 windows, would only work if you don't make it sharing data.
http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Animation#Dependency_Graph

We have some work todo :/

I am also getting crashes on a similar blend file.two scenes with groups in one instanced in the other.
if i delete objects belonging to the group (only linked to one scene) blender will crash.

i have attached a simple test case,it works fine on official release build.but on a debug build i compiled
valgrind reports an invalid access,but no crashes.

==8038== Invalid read of size 2
==8038== at 0x8EF17A4: flush_update_node (depsgraph.c:1964)
==8038== by 0x8EF1F76: DAG_scene_flush_update (depsgraph.c:2190)
==8038== by 0x8EF2A8B: DAG_ids_flush_update (depsgraph.c:2524)
==8038== by 0x8B2EC01: object_delete_exec (object_add.c:971)
==8038== by 0x87F0569: wm_operator_invoke (wm_event_system.c:879)
==8038== by 0x87F0A46: wm_operator_call_internal (wm_event_system.c:1041)
==8038== by 0x87F0C10: WM_operator_name_call (wm_event_system.c:1090)
==8038== by 0x8A63128: ui_apply_but_funcs_after (interface_handlers.c:426)
==8038== by 0x8A7531E: ui_handler_popup (interface_handlers.c:6997)
==8038== by 0x87EF1F1: wm_handler_ui_call (wm_event_system.c:363)
==8038== by 0x87F208E: wm_handlers_do_intern (wm_event_system.c:1743)
==8038== by 0x87F22F7: wm_handlers_do (wm_event_system.c:1822)
==8038== Address 0xee04c46 is 1,062 bytes inside a block of size 1,204 free'd
==8038== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==8038== by 0x9267E21: rem_memblock (mallocn.c:823)
==8038== by 0x9267B75: MEM_freeN (mallocn.c:726)
==8038== by 0x8F49A5F: BKE_libblock_free (library.c:923)
==8038== by 0x8F49B33: BKE_libblock_free_us (library.c:939)
==8038== by 0x8B2EA6E: ED_base_object_free_and_unlink (object_add.c:930)
==8038== by 0x8B2EB53: object_delete_exec (object_add.c:950)
==8038== by 0x87F0569: wm_operator_invoke (wm_event_system.c:879)
==8038== by 0x87F0A46: wm_operator_call_internal (wm_event_system.c:1041)
==8038== by 0x87F0C10: WM_operator_name_call (wm_event_system.c:1090)
==8038== by 0x8A63128: ui_apply_but_funcs_after (interface_handlers.c:426)
==8038== by 0x8A7531E: ui_handler_popup (interface_handlers.c:6997)

i may be way off,but it looks like the ob->recalc is been accessed in 'flush_update_node (depsgraph.c:1964)' after the
object was freed by object delete operator in 'object_delete_exec (object_add.c:950)'.this may screw up the blend file.

to reproduce:
1) open groups_crash.blend
2) delete selected files in window showing Scene.001.

attaching files returns wtth error 'Missing parameters' & 'You Attempted To Double-submit this item. Please avoid double-clicking.'

uploading file here http://www.filedropper.com/groupscrash

Fix for parent_bug and groupcrash are both in svn now.

Do note that multi-window + multi-scene editing with shared data is all work in progress. We have a lot of open issues here still.

Ton Roosendaal (ton) closed this task as Invalid.Dec 18 2012, 12:56 PM