diff options
Diffstat (limited to 'src/burn/engine/package.cpp')
-rw-r--r-- | src/burn/engine/package.cpp | 22 |
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 | |||
457 | LExit: | ||
458 | return hr; | 450 | return hr; |
459 | } | 451 | } |
460 | 452 | ||