Dear forum,
This is not my main problem, please see below for bigger problem, but here's a solution to no parent found:
I had the same problem, and I'm doing a tour that is split into three parts and has a map for navigation between the three tours. Thanks for directing me to the place to find the origin of this problem

. I have been able to rewrite the skin_update_scene_infos action to reflect the instance of having a null scene. I have null scenes because I'm letting a Map function come up first before the startup(), and having startup() called upon leaving the Map, so no scene is loaded.
However, I would really like to be able to have a map action be called after startup() or after loadpano() or loadscene() is called. How can one have subsequent actions to the startup() of a vtour function?
Also, after leaving the Map to a destination scene, the startup() is called or loadscene() is called, and then my Map and it's hide/show button will not function again afterwards.
I need a Map to show and it's functions to work, and it's button to show it and hide it to work after the startup() action loads the first scene. Is there a secret to ordering actions in the xml for the xml to render correctly and allow immediate actions after startup()??
Thanks so much.
Here is my solution to the first no parent found problem:
<action name="skin_update_scene_infos">
if(xml.scene != null,
if(title,
if((get(scene[get(xml.scene)].title) === 'null' , set(layer[skin_title].visible,false);
,
txtadd(layer[skin_title].html, get(title), ' - ', get(scene[get(xml.scene)].title) ); , copy(layer[skin_title].html, scene[get(xml.scene)].title ); );
delayedcall(0.1, set(layer[skin_title].visible,true)));
if(scene[get(xml.scene)].index GT 0,
set(layer[skin_btn_prev].enabled, true);
set(layer[skin_btn_prev].alpha, 1.0);
,
set(layer[skin_btn_prev].enabled, false);
set(layer[skin_btn_prev].alpha, 0.3);
);
sub(lastsceneindex, scene.count, 1);
if(scene[get(xml.scene)].index LT lastsceneindex,
set(layer[skin_btn_next].enabled, true);
set(layer[skin_btn_next].alpha, 1.0);
,
set(layer[skin_btn_next].enabled, false);
set(layer[skin_btn_next].alpha, 0.3);
);
set(layer[skin_thumbborder].visible, false);
if(scene[get(xml.scene)].mapspotname,
layer[skin_map].activatespot(get(scene[get(xml.scene)].mapspotname));
layer[skin_map].pantospot(get(scene[get(xml.scene)].mapspotname));
);
,
set(layer[skin_title].visible,false;
);
</action>
thanks,
John