@@ -1051,6 +1051,14 @@ protected Object deserializeUsingPropertyBasedWithUnwrapped(JsonParser p, Deseri
10511051 if (buffer .readIdProperty (propName ) && creatorProp == null ) {
10521052 continue ;
10531053 }
1054+
1055+ // Things marked as ignorable should not be passed to any setter
1056+ // [databind#4629] Need to check for ignored properties BEFORE checking
1057+ // for Creator properties.
1058+ if (IgnorePropertiesUtil .shouldIgnore (propName , _ignorableProps , _includableProps )) {
1059+ handleIgnoredProperty (p , ctxt , handledType (), propName );
1060+ continue ;
1061+ }
10541062 if (creatorProp != null ) {
10551063 // [databind#1381]: if useInput=FALSE, skip deserialization from input
10561064 if (creatorProp .isInjectionOnly ()) {
@@ -1112,11 +1120,6 @@ protected Object deserializeUsingPropertyBasedWithUnwrapped(JsonParser p, Deseri
11121120 buffer .bufferProperty (prop , _deserializeWithErrorWrapping (p , ctxt , prop ));
11131121 continue ;
11141122 }
1115- // Things marked as ignorable should not be passed to any setter
1116- if (IgnorePropertiesUtil .shouldIgnore (propName , _ignorableProps , _includableProps )) {
1117- handleIgnoredProperty (p , ctxt , handledType (), propName );
1118- continue ;
1119- }
11201123 // 29-Nov-2016, tatu: probably should try to avoid sending content
11211124 // both to any setter AND buffer... but, for now, the only thing
11221125 // we can do.
0 commit comments