Thank you all for reply. This is just an example code. The reason I destroy the top_f is because I want to replace with a different screen after the user finish selecting.
I think "ldln" is right about the bug in BrowseEntry widge.
Is packForget similar to destroy?.
$top_f->packForget( ) if $top_f->ismapped;