Use a tab BReference as argument in Area::Set{Left, Top, Right, Bottom}.

Using a normal pointer is dangerous when creating a new tab directly in the method call because the tab gets deleted to early.
This commit is contained in:
czeidler 2012-10-17 07:23:00 +00:00
parent 292cd8a934
commit 04b1c44b89
2 changed files with 8 additions and 8 deletions

View File

@ -56,10 +56,10 @@ public:
XTab* Right() const;
YTab* Top() const;
YTab* Bottom() const;
void SetLeft(XTab* left);
void SetRight(XTab* right);
void SetTop(YTab* top);
void SetBottom(YTab* bottom);
void SetLeft(BReference<XTab> left);
void SetRight(BReference<XTab> right);
void SetTop(BReference<YTab> top);
void SetBottom(BReference<YTab> bottom);
Row* GetRow() const;
Column* GetColumn() const;

View File

@ -78,7 +78,7 @@ Area::Bottom() const
* @param left the left tab of the area
*/
void
Area::SetLeft(XTab* left)
Area::SetLeft(BReference<XTab> left)
{
fLeft = left;
@ -97,7 +97,7 @@ Area::SetLeft(XTab* left)
* @param right the right tab of the area
*/
void
Area::SetRight(XTab* right)
Area::SetRight(BReference<XTab> right)
{
fRight = right;
@ -114,7 +114,7 @@ Area::SetRight(XTab* right)
* Sets the top tab of the area.
*/
void
Area::SetTop(YTab* top)
Area::SetTop(BReference<YTab> top)
{
fTop = top;
@ -131,7 +131,7 @@ Area::SetTop(YTab* top)
* Sets the bottom tab of the area.
*/
void
Area::SetBottom(YTab* bottom)
Area::SetBottom(BReference<YTab> bottom)
{
fBottom = bottom;