aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/package.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/package.cpp')
-rw-r--r--src/burn/engine/package.cpp22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/burn/engine/package.cpp b/src/burn/engine/package.cpp
index bea48cb5..d9087f79 100644
--- a/src/burn/engine/package.cpp
+++ b/src/burn/engine/package.cpp
@@ -350,6 +350,9 @@ extern "C" void PackageUninitialize(
350 350
351 switch (pPackage->type) 351 switch (pPackage->type)
352 { 352 {
353 case BURN_PACKAGE_TYPE_BUNDLE:
354 BundlePackageEnginePackageUninitialize(pPackage);
355 break;
353 case BURN_PACKAGE_TYPE_EXE: 356 case BURN_PACKAGE_TYPE_EXE:
354 ExeEnginePackageUninitialize(pPackage); // TODO: Modularization 357 ExeEnginePackageUninitialize(pPackage); // TODO: Modularization
355 break; 358 break;
@@ -439,22 +442,11 @@ extern "C" HRESULT PackageFindRelatedById(
439 ) 442 )
440{ 443{
441 HRESULT hr = S_OK; 444 HRESULT hr = S_OK;
442 BURN_PACKAGE* pPackage = NULL; 445 BURN_RELATED_BUNDLE* pRelatedBundle = NULL;
443 446
444 for (DWORD i = 0; i < pRelatedBundles->cRelatedBundles; ++i) 447 hr = RelatedBundleFindById(pRelatedBundles, wzId, &pRelatedBundle);
445 { 448 *ppPackage = FAILED(hr) ? NULL : &pRelatedBundle->package;
446 pPackage = &pRelatedBundles->rgRelatedBundles[i].package;
447
448 if (CSTR_EQUAL == ::CompareStringW(LOCALE_INVARIANT, 0, pPackage->sczId, -1, wzId, -1))
449 {
450 *ppPackage = pPackage;
451 ExitFunction1(hr = S_OK);
452 }
453 }
454 449
455 hr = E_NOTFOUND;
456
457LExit:
458 return hr; 450 return hr;
459} 451}
460 452