commit | 8e6afeff499eb43f2f7d0495c0df49586561a101 | [log] [tgz] |
---|---|---|
author | Jerry Berg <107155935+googleberg@users.noreply.github.com> | Mon Nov 14 13:14:39 2022 -0700 |
committer | GitHub <noreply@github.com> | Mon Nov 14 13:14:39 2022 -0700 |
tree | e9072e4adbe9d562b900a36984a6e661d5d6e323 | |
parent | 4f393bd5152a4867345fa49f7545be4cf2347006 [diff] |
Mark nested builder as clean after clear is called Omitting this step was leading to stale cached versions of nested messages. See https://github.com/protocolbuffers/protobuf/issues/10624
diff --git a/java/core/src/main/java/com/google/protobuf/SingleFieldBuilderV3.java b/java/core/src/main/java/com/google/protobuf/SingleFieldBuilderV3.java index 78a4a21..a6c639c 100644 --- a/java/core/src/main/java/com/google/protobuf/SingleFieldBuilderV3.java +++ b/java/core/src/main/java/com/google/protobuf/SingleFieldBuilderV3.java
@@ -199,6 +199,9 @@ builder = null; } onChanged(); + // After clearing, parent is dirty, but this field builder is now clean and any changes should + // trickle up. + isClean = true; return this; }