Browse Source

TWriter: fix default value handling for Int64/QWord values. Issue #37525

git-svn-id: trunk@46337 -
ondrej 5 years ago
parent
commit
67acb289d7
1 changed files with 2 additions and 2 deletions
  1. 2 2
      rtl/objpas/classes/writer.inc

+ 2 - 2
rtl/objpas/classes/writer.inc

@@ -1171,8 +1171,8 @@ begin
         if HasAncestor then
         if HasAncestor then
           DefInt64Value := GetInt64Prop(Ancestor, PropInfo)
           DefInt64Value := GetInt64Prop(Ancestor, PropInfo)
         else
         else
-          DefInt64Value := 0;
-        if Int64Value <> DefInt64Value then
+          DefInt64Value := PPropInfo(PropInfo)^.Default;
+        if (Int64Value <> DefInt64Value) or (DefInt64Value=longint($80000000)) then
         begin
         begin
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           Driver.BeginProperty(FPropPath + PPropInfo(PropInfo)^.Name);
           WriteInteger(Int64Value);
           WriteInteger(Int64Value);