From 8bcd69044c366974d40f1cd22577679cd7b991db Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 23 Jan 2015 14:57:23 +0100 Subject: [PATCH] Call ReleaseReference when a BReference is not needed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reduces complexity and is actualñly more readable. --- src/servers/app/drawing/BitmapDrawingEngine.cpp | 2 +- src/servers/app/drawing/BitmapDrawingEngine.h | 2 +- src/servers/app/stackandtile/SATGroup.cpp | 4 +++- src/servers/app/stackandtile/SATGroup.h | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/servers/app/drawing/BitmapDrawingEngine.cpp b/src/servers/app/drawing/BitmapDrawingEngine.cpp index eee10c82be..7ce95f779e 100644 --- a/src/servers/app/drawing/BitmapDrawingEngine.cpp +++ b/src/servers/app/drawing/BitmapDrawingEngine.cpp @@ -56,7 +56,7 @@ BitmapDrawingEngine::SetSize(int32 newWidth, int32 newHeight) fHWInterface = NULL; } - fBitmap.Unset(); + fBitmap->ReleaseReference(); if (newWidth <= 0 || newHeight <= 0) return B_OK; diff --git a/src/servers/app/drawing/BitmapDrawingEngine.h b/src/servers/app/drawing/BitmapDrawingEngine.h index ae054cbf59..11e5b814bd 100644 --- a/src/servers/app/drawing/BitmapDrawingEngine.h +++ b/src/servers/app/drawing/BitmapDrawingEngine.h @@ -25,7 +25,7 @@ virtual ~BitmapDrawingEngine(); private: color_space fColorSpace; BitmapHWInterface* fHWInterface; - BReference fBitmap; + UtilityBitmap* fBitmap; BRegion fClipping; }; diff --git a/src/servers/app/stackandtile/SATGroup.cpp b/src/servers/app/stackandtile/SATGroup.cpp index 58f08e70cc..ee32a69473 100644 --- a/src/servers/app/stackandtile/SATGroup.cpp +++ b/src/servers/app/stackandtile/SATGroup.cpp @@ -791,7 +791,7 @@ Tab::CompareFunction(const Tab* tab1, const Tab* tab2) SATGroup::SATGroup() : - fLinearSpec(new(std::nothrow) LinearSpec(), true), + fLinearSpec(new(std::nothrow) LinearSpec()), fHorizontalTabsSorted(false), fVerticalTabsSorted(false), fActiveWindow(NULL) @@ -806,6 +806,8 @@ SATGroup::~SATGroup() debugger("Deleting a SATGroup which is not empty"); //while (fSATWindowList.CountItems() > 0) // RemoveWindow(fSATWindowList.ItemAt(0)); + + fLinearSpec->ReleaseReference(); } diff --git a/src/servers/app/stackandtile/SATGroup.h b/src/servers/app/stackandtile/SATGroup.h index cb864ff781..4ce51dfac6 100644 --- a/src/servers/app/stackandtile/SATGroup.h +++ b/src/servers/app/stackandtile/SATGroup.h @@ -244,7 +244,7 @@ public: SATGroup(); ~SATGroup(); - LinearSpec* GetLinearSpec() { return fLinearSpec.Get(); } + LinearSpec* GetLinearSpec() { return fLinearSpec; } /*! Create a new WindowArea from the crossing and add the window. */ bool AddWindow(SATWindow* window, Tab* left, @@ -321,7 +321,7 @@ protected: WindowAreaList fWindowAreaList; SATWindowList fSATWindowList; - BReference fLinearSpec; + LinearSpec* fLinearSpec; private: TabList fHorizontalTabs;