mirror of https://github.com/acidanthera/audk.git
BaseTools: Fixed bugs in CopyDict function
https://bugzilla.tianocore.org/show_bug.cgi?id=1387
This patch is going to fix the regression issue which is
introduced by commit bf9e636605
.
This patch Remove the CopyDict incorrect usage for non-dict
input data. Add a check for CopyDict input.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
5695877ec8
commit
9bf86b12ce
|
@ -2139,6 +2139,8 @@ def PackByteFormatGUID(Guid):
|
|||
#
|
||||
def CopyDict(ori_dict):
|
||||
dict_type = ori_dict.__class__
|
||||
if dict_type not in (dict,OrderedDict):
|
||||
return ori_dict
|
||||
new_dict = dict_type()
|
||||
for key in ori_dict:
|
||||
if isinstance(ori_dict[key],(dict,OrderedDict)):
|
||||
|
|
|
@ -974,7 +974,7 @@ class DscBuildData(PlatformBuildClassObject):
|
|||
if TAB_DEFAULT_STORES_DEFAULT not in skuobj.DefaultStoreDict:
|
||||
PcdDefaultStoreSet = set(defaultstorename for defaultstorename in skuobj.DefaultStoreDict)
|
||||
mindefaultstorename = DefaultStoreMgr.GetMin(PcdDefaultStoreSet)
|
||||
skuobj.DefaultStoreDict[TAB_DEFAULT_STORES_DEFAULT] = CopyDict(skuobj.DefaultStoreDict[mindefaultstorename])
|
||||
skuobj.DefaultStoreDict[TAB_DEFAULT_STORES_DEFAULT] = skuobj.DefaultStoreDict[mindefaultstorename]
|
||||
return Pcds
|
||||
|
||||
def RecoverCommandLinePcd(self):
|
||||
|
@ -2769,7 +2769,7 @@ class DscBuildData(PlatformBuildClassObject):
|
|||
mindefaultstorename = DefaultStoreObj.GetMin(set(defaultstorename for defaultstorename in skuobj.DefaultStoreDict))
|
||||
for defaultstorename in DefaultStores:
|
||||
if defaultstorename not in skuobj.DefaultStoreDict:
|
||||
skuobj.DefaultStoreDict[defaultstorename] = CopyDict(skuobj.DefaultStoreDict[mindefaultstorename])
|
||||
skuobj.DefaultStoreDict[defaultstorename] = skuobj.DefaultStoreDict[mindefaultstorename]
|
||||
skuobj.HiiDefaultValue = skuobj.DefaultStoreDict[mindefaultstorename]
|
||||
for skuname, skuid in SkuIds.items():
|
||||
if skuname not in PcdObj.SkuInfoList:
|
||||
|
|
Loading…
Reference in New Issue