Change 14655

Fix crashing bug in P4Ruby when an exception is raised from within
the block passed to P4#run_resolve. This happened because the
P4::MergeData object was attached to the exception and so survived
longer than the resolve process itself. Ruby's exception handling
then tries to call P4::MergeData#to_s to format the object as a
string, but some of the internal pointers inside the MergeData object
(provided by P4Api) have already been deleted. The to_s method tried
to access those objects and caused the crash.

This change ensures that the MergeData object invalidates its pointers
to objects owned by P4Api and passed in with the scope of an individual
resolve as soon as that resolve is completed (successfully or otherwise).
4 edited 0 added 0 deleted
Tip: Use n and p to cycle through the changes.