blame.c: don't drop origin blobs as eagerly
[gitweb.git] / blame.c
diff --git a/blame.c b/blame.c
index da57233cbbd98d41bdfeba46e861b1f5f61dfbe2..4e9ccd09221e66ca2f5c02a563c18294b1cc3942 100644 (file)
--- a/blame.c
+++ b/blame.c
@@ -1561,7 +1561,8 @@ static void pass_blame(struct blame_scoreboard *sb, struct blame_origin *origin,
        }
        for (i = 0; i < num_sg; i++) {
                if (sg_origin[i]) {
-                       drop_origin_blob(sg_origin[i]);
+                       if (!sg_origin[i]->suspects)
+                               drop_origin_blob(sg_origin[i]);
                        blame_origin_decref(sg_origin[i]);
                }
        }