Fixes issue #6940

Check if the cart needs shipping before updating the user shipping address. This fixes the issue (#6940) of the shipping address being updated with the user billing address when purchasing a virtual product.