FIX: Ensure parent exists before calling canView()