BA signed a codeshare agreement with China Eastern a year ago.
CX was very unhappy about it.
Then BA signed a JV with QR in October 2016 covering all Asian destinations.
Then CX signed a cooperation agreement with Lufthansa a few months ago.
One cannot expect that relations between BA and CX be good. And BA removed its CX codeshares to most destinations except Australasia. But you can only get those BA codes if you connect from BA LHR services.