After a nice few days off work for the annual Northern Irish, festivities, let’s call them; I returned to a ticket raising an issue whereby Magento was reporting an error when returning to our store from the PayPal Express checkout
Fatal error: Call to a member function setQuote() on a non-object in /http/app/code/core/Mage/Paypal/Controller/Express/Abstract.php on line 217
I either have terrible luck or these errors are normally much more difficult to diagnose. This is simply an issue with custom themes.
Always test in staging, create backups and disable caches before editing live files.
To fix download the following folder
/http/app/design/frontend/base/default/template/paypal
Use it to replace the following folder
/http/app/design/frontend/default/YOUR_THEME/template/paypal
Download the following layout file
/http/app/design/frontend/base/default/layout/paypal.xml
Upload it, replacing the following file
/http/app/design/frontend/default/YOUR_THEME/layout/paypal.xml
Refresh caches and carry on trading.