fix recursive panel open close bug