Author: anevilyak Date: 2010-04-24 21:35:53 +0200 (Sat, 24 Apr 2010) New Revision: 36455 Changeset: http://dev.haiku-os.org/changeset/36455/haiku Ticket: http://dev.haiku-os.org/ticket/4322 Modified: haiku/trunk/src/kits/tracker/ViewState.cpp haiku/trunk/src/kits/tracker/ViewState.h Log: Factored out initialization of default values into an _Init() function that's now called by all constructors. The BMessage version of the ViewState constructor was not retrieving the icon/last icon size values. May fix #4322. Modified: haiku/trunk/src/kits/tracker/ViewState.cpp =================================================================== --- haiku/trunk/src/kits/tracker/ViewState.cpp 2010-04-24 17:51:39 UTC (rev 36454) +++ haiku/trunk/src/kits/tracker/ViewState.cpp 2010-04-24 19:35:53 UTC (rev 36455) @@ -278,24 +278,14 @@ BViewState::BViewState() { - fViewMode = kListMode; - fLastIconMode = 0; - fIconSize = 32; - fLastIconSize = 32; - fListOrigin.Set(0, 0); - fIconOrigin.Set(0, 0); - fPrimarySortAttr = AttrHashString(kAttrStatName, B_STRING_TYPE); - fPrimarySortType = B_STRING_TYPE; - fSecondarySortAttr = 0; - fSecondarySortType = 0; - fReverseSort = false; - + _Init(); _StorePreviousState(); } BViewState::BViewState(BMallocIO *stream, bool endianSwap) { + _Init(); stream->Read(&fViewMode, sizeof(uint32)); stream->Read(&fLastIconMode, sizeof(uint32)); stream->Read(&fListOrigin, sizeof(BPoint)); @@ -331,8 +321,11 @@ BViewState::BViewState(const BMessage &message) { + _Init(); message.FindInt32(kViewStateViewModeName, (int32 *)&fViewMode); message.FindInt32(kViewStateLastIconModeName, (int32 *)&fLastIconMode); + message.FindInt32(kViewStateLastIconSizeName,(int32 *)&fLastIconSize); + message.FindInt32(kViewStateIconSizeName, (int32 *)&fIconSize); message.FindPoint(kViewStateListOriginName, &fListOrigin); message.FindPoint(kViewStateIconOriginName, &fIconOrigin); message.FindInt32(kViewStatePrimarySortAttrName, @@ -434,6 +427,23 @@ void +BViewState::_Init() +{ + fViewMode = kListMode; + fLastIconMode = 0; + fIconSize = 32; + fLastIconSize = 32; + fListOrigin.Set(0, 0); + fIconOrigin.Set(0, 0); + fPrimarySortAttr = AttrHashString(kAttrStatName, B_STRING_TYPE); + fPrimarySortType = B_STRING_TYPE; + fSecondarySortAttr = 0; + fSecondarySortType = 0; + fReverseSort = false; +} + + +void BViewState::_StorePreviousState() { fPreviousViewMode = fViewMode; Modified: haiku/trunk/src/kits/tracker/ViewState.h =================================================================== --- haiku/trunk/src/kits/tracker/ViewState.h 2010-04-24 17:51:39 UTC (rev 36454) +++ haiku/trunk/src/kits/tracker/ViewState.h 2010-04-24 19:35:53 UTC (rev 36455) @@ -151,6 +151,7 @@ uint32 fSecondarySortType; bool fReverseSort; + void _Init(); void _StorePreviousState(); uint32 fPreviousViewMode;