diff --git a/src/apps/haikudepot/model/Model.cpp b/src/apps/haikudepot/model/Model.cpp index 99dd4f07ab..3a520742c6 100644 --- a/src/apps/haikudepot/model/Model.cpp +++ b/src/apps/haikudepot/model/Model.cpp @@ -385,6 +385,17 @@ Model::AddPackage(const PackageInfoRef& package) } +void +Model::AddPackageWithChange(const PackageInfoRef& package, uint32 changeMask) +{ + if (!package.IsSet()) + HDFATAL("attempt to add an unset package"); + BAutolock locker(&fLock); + fPackages[package->Name()] = package; + _NotifyPackageChange(PackageChangeEvent(package, changeMask)); +} + + void Model::AddPackages(const std::vector& packages) { diff --git a/src/apps/haikudepot/model/Model.h b/src/apps/haikudepot/model/Model.h index 6864f055fe..d435eb4e95 100644 --- a/src/apps/haikudepot/model/Model.h +++ b/src/apps/haikudepot/model/Model.h @@ -112,6 +112,8 @@ public: const std::vector FilteredPackages() const; void AddPackage(const PackageInfoRef& package); + void AddPackageWithChange(const PackageInfoRef& package, + uint32 changeMask); void AddPackages(const std::vector& packages); void AddPackagesWithChange(const std::vector& packages, uint32 changesMask); diff --git a/src/apps/haikudepot/server/PopulatePkgChangelogFromServerProcess.cpp b/src/apps/haikudepot/server/PopulatePkgChangelogFromServerProcess.cpp index 82c5d13078..0e4ea378cc 100644 --- a/src/apps/haikudepot/server/PopulatePkgChangelogFromServerProcess.cpp +++ b/src/apps/haikudepot/server/PopulatePkgChangelogFromServerProcess.cpp @@ -103,7 +103,7 @@ PopulatePkgChangelogFromServerProcess::_UpdateChangelog(const BString& value) PackageInfoRef updatedPackage = PackageInfoBuilder(package).WithLocalizedText(localizedText).BuildRef(); - fModel->AddPackage(updatedPackage); + fModel->AddPackageWithChange(updatedPackage, static_cast(PKG_CHANGED_LOCALIZED_TEXT)); return B_OK; } diff --git a/src/apps/haikudepot/server/PopulatePkgUserRatingsFromServerProcess.cpp b/src/apps/haikudepot/server/PopulatePkgUserRatingsFromServerProcess.cpp index b528cf1123..2bcbd02311 100644 --- a/src/apps/haikudepot/server/PopulatePkgUserRatingsFromServerProcess.cpp +++ b/src/apps/haikudepot/server/PopulatePkgUserRatingsFromServerProcess.cpp @@ -283,7 +283,7 @@ PopulatePkgUserRatingsFromServerProcess::RunInternal() .WithUserRatingInfo(userRatingInfoBuilder.BuildRef()) .BuildRef(); - fModel->AddPackage(updatedPackage); + fModel->AddPackageWithChange(updatedPackage, static_cast(PKG_CHANGED_RATINGS)); } return status;