I tested this also with your advance chat example
When you restart smartfox, and join the main lobby, tracing roomlist (simply stick a 'trace(roomlist)' in the chat frames smartfox.onRoomListUpdate function) returns 'undefined,[object Object]'
I'm not sure why there is a first undefined, but the object is obviously the main lobby.
If i open another instance of the advance chat, and create three rooms, when i re-login in the flash IDE version and trace the room list, i get
'undefined,[object Object],[object Object],[object Object],[object Object]'
All good so far.
However, if in yet another instance of the advancedChat swf, i create two more rooms. Then exit the first instance where i created the 3 rooms. In the flash IDE version, when i log in and trace, i get 'undefined,[object Object],undefined,undefined,undefined,[object Object],[object Object]'
the 3 undefineds are where the rooms used to be placed in the list, and I'm guessing they havent been removed fully from the list, as then the two new rooms at the end of the list, their ID wont match the list position ID.
However, if i were to then close that 2nd instance, with the 2 rooms created. I then re-run the flash IDE version and trace the room list. I get 'undefined,[object Object]' again.
Yep, i know, still no problem
but.....
Adding another room with yet another instance of the advanced chat, will mean that next time i trace the roomlist from within the IDE, i get:-
'undefined,[object Object],undefined,undefined,undefined,undefined,undefined,[object Object]'
Basically, the roomlist still remembers that in the past there were 5 rooms created, so it puts this new room after those 5.
Ultimately, this means that if enough rooms are created and closed, you could end up with a roomlist filled with 1000's of undefineds from 'ghost' rooms, and as i say, i'm not sure if that will affect performance or not?
It could also be a case that you do a cleanup routine every 30 mins or something like that which i havent noticed
Pea