de-adjust pointers to run the proper destructor when virtual inheritance is involved; fixes #2682