From 8cc767ee4584bf653a5f8d8cefd4c31d353a42f1 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Fri, 7 Jul 2006 20:23:00 +0000 Subject: [PATCH] call BView::Archive() first, pass deep when needed git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18068 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Dragger.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/kits/interface/Dragger.cpp b/src/kits/interface/Dragger.cpp index 351c1cc727..d9a246ac3d 100644 --- a/src/kits/interface/Dragger.cpp +++ b/src/kits/interface/Dragger.cpp @@ -75,7 +75,6 @@ BDragger::BDragger(BMessage *data) fBitmap->SetBits(kHandBitmap, fBitmap->BitsLength(), 0, B_CMAP8); BMessage popupMsg; - if (data->FindMessage("_popup", &popupMsg) == B_OK) { BArchivable *archivable = instantiate_object(&popupMsg); @@ -98,28 +97,28 @@ BDragger::Instantiate(BMessage *data) { if (validate_instantiation(data, "BDragger")) return new BDragger(data); - else - return NULL; + return NULL; } status_t BDragger::Archive(BMessage *data, bool deep) const { - BMessage popupMsg; - status_t ret = B_OK; + status_t ret = BView::Archive(data, deep); + if (ret != B_OK) + return ret; + BMessage popupMsg; + if (fPopUp) { - ret = fPopUp->Archive(&popupMsg); + ret = fPopUp->Archive(&popupMsg, deep); if (ret == B_OK) ret = data->AddMessage("_popup", &popupMsg); } if (ret == B_OK) ret = data->AddInt32("_rel", fRelation); - if (ret != B_OK) - return ret; - return BView::Archive(data, deep); + return ret; }