empty the message before reusing it, otherwise the pictures will be archived multiple times. Should fix ticket #7035.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39981 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2001-2009, Haiku, Inc.
|
* Copyright 2001-2010, Haiku, Inc.
|
||||||
* Distributed under the terms of the MIT license.
|
* Distributed under the terms of the MIT license.
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
@@ -88,25 +88,27 @@ BPictureButton::Archive(BMessage* data, bool deep) const
|
|||||||
// Fill out message, depending on whether a deep copy is required or not.
|
// Fill out message, depending on whether a deep copy is required or not.
|
||||||
if (deep) {
|
if (deep) {
|
||||||
BMessage pictureArchive;
|
BMessage pictureArchive;
|
||||||
|
|
||||||
if (fEnabledOn->Archive(&pictureArchive, deep) == B_OK) {
|
if (fEnabledOn->Archive(&pictureArchive, deep) == B_OK) {
|
||||||
err = data->AddMessage("_e_on", &pictureArchive);
|
err = data->AddMessage("_e_on", &pictureArchive);
|
||||||
if (err != B_OK)
|
if (err != B_OK)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pictureArchive.MakeEmpty();
|
||||||
if (fEnabledOff->Archive(&pictureArchive, deep) == B_OK) {
|
if (fEnabledOff->Archive(&pictureArchive, deep) == B_OK) {
|
||||||
err = data->AddMessage("_e_off", &pictureArchive);
|
err = data->AddMessage("_e_off", &pictureArchive);
|
||||||
if (err != B_OK)
|
if (err != B_OK)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pictureArchive.MakeEmpty();
|
||||||
if (fDisabledOn && fDisabledOn->Archive(&pictureArchive, deep) == B_OK) {
|
if (fDisabledOn && fDisabledOn->Archive(&pictureArchive, deep) == B_OK) {
|
||||||
err = data->AddMessage("_d_on", &pictureArchive);
|
err = data->AddMessage("_d_on", &pictureArchive);
|
||||||
if (err != B_OK)
|
if (err != B_OK)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pictureArchive.MakeEmpty();
|
||||||
if (fDisabledOff && fDisabledOff->Archive(&pictureArchive, deep) == B_OK) {
|
if (fDisabledOff && fDisabledOff->Archive(&pictureArchive, deep) == B_OK) {
|
||||||
err = data->AddMessage("_d_off", &pictureArchive);
|
err = data->AddMessage("_d_off", &pictureArchive);
|
||||||
if (err != B_OK)
|
if (err != B_OK)
|
||||||
|
|||||||
Reference in New Issue
Block a user