Hello,
I found out that this "bug" has been in VM 2 since version 2.0.2 so I created my own hack, I'm sure it's not the best solution but it works for me.
In the file: components\com_virtuemart\controllers\user.php
Go find the code:
function registerCheckoutUser(){
$msg = $this->saveData(true,true);
$this->setRedirect(JRoute::_( 'index.php?option=com_virtuemart&view=cart&task=checkout',$this->useXHTML,$this->useSSL ),$msg);
}
And change it to:
function registerCheckoutUser(){
$msg = $this->saveData(true,true);
$currentUser = JFactory::getUser();
if($currentUser->id != 0){
$this->setRedirect(JRoute::_( 'index.php?option=com_virtuemart&view=cart&task=checkout',$this->useXHTML,$this->useSSL ),$msg);
} else {
$this->setRedirect(JRoute::_( 'index.php?option=com_virtuemart&view=user&task=editaddresscheckout&addrtype=BT',$this->useXHTML,$this->useSSL ),$msg);
}
}
I don't know if it will work with an activation link send via mail but it works if you have a 'register as customer' button next to the 'register as guest' button.
Hope this "bug" will get fixed with the next update because I don't like changing core files of components