Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#26 closed defect (fixed)

Removing a key from its parent RegContainer value removes a zero char too much

Reported by: Andreas Schnellbacher Owned by: Andreas Schnellbacher
Priority: blocker Milestone: 2.0 beta
Component: NEPMDLIB Version: 1.18
Keywords: Cc:

Description (last modified by Andreas Schnellbacher)

After executing

NepmdDeleteConfigTree \NEPMD\User\AutoRestore

the section RegKey is OK, but in RegContainer, the entry for \NEPMD\User was changed from

AutoRestore.AutoSave.Backup.Colors. ... .Toolbar.

to

AutoSaveBackup.Colors. ... .Toolbar.

(zero chars replaced by single dots).

The faulty function is _removeKeyFromContainerList of libreg.c, which exists for a long time.

The removed RegKeys are:

\NEPMD\User\AutoRestore\Ring\LoadLast
\NEPMD\User\AutoRestore\Ring\MaxFiles
\NEPMD\User\AutoRestore\Ring\SaveLast

The removed RegContainer keys are:

\NEPMD\User\AutoRestore\Ring
\NEPMD\User\AutoRestore

It may have relevance that two container levels were removed.

Luckily, this bug didn't appear until now. It has to be fixed before the deletion of a tree will be added to ImportUserTextConfig, triggered by a DELETE: value in user.cfg.

Change History (3)

comment:1 Changed 2 years ago by Andreas Schnellbacher

Owner: set to Andreas Schnellbacher
Status: newaccepted

comment:2 Changed 2 years ago by Andreas Schnellbacher

Description: modified (diff)

comment:3 Changed 2 years ago by Andreas Schnellbacher

Resolution: fixed
Status: acceptedclosed

Fixed by r3011.

The bug occurred if 2 RegContainer? levels were deleted. Then the upper level tried to delete that level again, which was already removed by processing of the upper level.

Version 0, edited 2 years ago by Andreas Schnellbacher (next)
Note: See TracTickets for help on using tickets.