diff --git a/src/apps/haikudepot/ui/PackageInfoView.cpp b/src/apps/haikudepot/ui/PackageInfoView.cpp index 1dd7b9c3d8..c13887a6a5 100644 --- a/src/apps/haikudepot/ui/PackageInfoView.cpp +++ b/src/apps/haikudepot/ui/PackageInfoView.cpp @@ -1529,6 +1529,8 @@ PackageInfoView::SetPackage(const PackageInfoRef& packageRef) { BAutolock _(fModelLock); + fPackage = packageRef; + const PackageInfo& package = *packageRef.Get(); fTitleView->SetPackage(package); @@ -1544,6 +1546,8 @@ PackageInfoView::SetPackage(const PackageInfoRef& packageRef) void PackageInfoView::Clear() { + fPackage = PackageInfoRef(NULL); + fTitleView->Clear(); fPackageActionView->Clear(); fPagesView->Clear(); @@ -1552,6 +1556,6 @@ PackageInfoView::Clear() BAutolock _(fModelLock); - fPackageListener->SetPackage(PackageInfoRef(NULL)); + fPackageListener->SetPackage(fPackage); } diff --git a/src/apps/haikudepot/ui/PackageInfoView.h b/src/apps/haikudepot/ui/PackageInfoView.h index 64b261892c..7dde526886 100644 --- a/src/apps/haikudepot/ui/PackageInfoView.h +++ b/src/apps/haikudepot/ui/PackageInfoView.h @@ -35,6 +35,8 @@ public: virtual void MessageReceived(BMessage* message); void SetPackage(const PackageInfoRef& package); + const PackageInfoRef& Package() const + { return fPackage; } void Clear(); private: @@ -48,6 +50,7 @@ private: PackageActionView* fPackageActionView; PagesView* fPagesView; + PackageInfoRef fPackage; Listener* fPackageListener; };