2
0
Эх сурвалжийг харах

* Fixed for 9879

git-svn-id: trunk@8760 -
marco 18 жил өмнө
parent
commit
a19b22c48f

+ 22 - 17
packages/fcl-registry/src/xmlreg.pp

@@ -352,19 +352,23 @@ begin
     begin
     Node[SType]:=IntToStr(Ord(DataType));
     DataNode:=Node.FirstChild;
-    Case DataType of
-      dtDWORD : DataNode.NodeValue:=IntToStr(PCardinal(@Data)^);
-      dtString : begin
-                 SetLength(S,DataSize);
-                 If (DataSize>0) then
-                   Move(Data,S[1],DataSize);
-                 DataNode.NodeValue:=S;
-                 end;
-      dtBinary : begin
-                 S:=BufToHex(Data,DataSize);
-                 DataNode.NodeValue:=S;
-                 end;
-    end;
+    Result:=DataNode<>Nil;  // Bug 9879. Create child here?
+    If Result Then
+      begin 
+        Case DataType of
+          dtDWORD : DataNode.NodeValue:=IntToStr(PCardinal(@Data)^);
+          dtString : begin
+                     SetLength(S,DataSize);
+                     If (DataSize>0) then
+                       Move(Data,S[1],DataSize);
+                     DataNode.NodeValue:=S;
+                     end;
+          dtBinary : begin
+                     S:=BufToHex(Data,DataSize);
+                     DataNode.NodeValue:=S;
+                     end;
+        end;
+      end;
     end;
   If Result then
     begin
@@ -711,11 +715,12 @@ Var
 
 begin
   N:=FindValueKey(OldName);
-  If (N<>Nil) then
+  result:=n<>nil;
+  If (Result) then
     begin
-    N[SName]:=NewName;
-    FDirty:=True;
-    MaybeFlush;
+      N[SName]:=NewName;
+      FDirty:=True;
+      MaybeFlush;
     end;
 end;