I think it will also work if you remove this and put the handling of ACTION_MOUSE_LEFT_CLICK/MOVE in CApplication::OnAction after the player returns false?

Same with the block above.  This then gets rid of the dependency in the player.