This fixes an issue introduced by CCGV 5.18.

If you redeem a gift voucher that could cover an order, but you do not use the voucher to pay, then it skips your payment module's pre_confirmation_check(). However, it still uses your payment module, which might error out because of the earlier skipped step.

The fix is to check whether you are using the voucher to pay. If not, then do not set $credit_covers = true.

More...