diff --git a/src/applications/differential/customfield/DifferentialAsanaRepresentationField.php b/src/applications/differential/customfield/DifferentialAsanaRepresentationField.php --- a/src/applications/differential/customfield/DifferentialAsanaRepresentationField.php +++ b/src/applications/differential/customfield/DifferentialAsanaRepresentationField.php @@ -44,6 +44,10 @@ $edge = head($edges[$src_phid][$edge_type]); + if (!$edge) { + return null; + } + if (!empty($edge['data']['gone'])) { return phutil_tag( 'em', diff --git a/src/applications/differential/parser/DifferentialChangesetParser.php b/src/applications/differential/parser/DifferentialChangesetParser.php --- a/src/applications/differential/parser/DifferentialChangesetParser.php +++ b/src/applications/differential/parser/DifferentialChangesetParser.php @@ -1326,9 +1326,15 @@ $old_back = array(); $new_back = array(); foreach ($this->old as $ii => $old) { + if ($old === null) { + continue; + } $old_back[$old['line']] = $old['line']; } foreach ($this->new as $ii => $new) { + if ($new === null) { + continue; + } $new_back[$new['line']] = $new['line']; } diff --git a/src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php b/src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php --- a/src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php +++ b/src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php @@ -593,9 +593,14 @@ $map = array(); foreach ($new as $offset => $new_line) { + if ($new_line === null) { + continue; + } + if ($new_line['line'] === null) { continue; } + $map[$new_line['line']] = $offset; }