#
ebea950b |
|
18-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
BLayout: Don't delete the layout of the view in RemoveView(). The layout item representing the layout of the view to be removed is owned by the view and must not be deleted. The layout only owns the item if a new layout item was created when adding the view, i.e. when it did not have a layout. Fixes the underlying issue that triggered #11976.
|
#
e837ee8b |
|
14-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
BView: Fix destruction order of layout items. Because of the virtual hooks a BLayout must never be destroyed while it still has layout items. If these items are only removed from the layout in its destructor, the subclass version of hooks like ItemRemoved() are not called anymore. This lead to leaks because many BLayout subclasses use the ItemRemoved() hook to clean up associated data (as is suggested explicitly in the BLayout documentation). In the same line of thought, a BLayoutItem must never be deleted when it is still attached to a layout, as it similarly has virtual hooks like DetachedFromLayout() that can not be called at this point anymore. The destructors of BLayout and BLayoutItem now have debugger calls in case these conditions are not met which should help to avoid accidentally introducing such hard to debug issues. To ensure the correct destruction order the sequence is now: * Destroy the child views first. This cleans up their layout items while the layout tree is still intact. * Unset the view layout before removing layout items so it can properly detach from the layout instead of just deleting it.
|
#
caddc641 |
|
15-Nov-2012 |
Joseph R. Prostko <joe.prostko@gmail.com> |
Changes to allow Haiku source to build with GCC 4.7 * GCC 4.7 is more picky than GCC 4.6, so have to make changes accordingly * Changes include addressing issues with scoping, redeclaration, etc. Thanks Rene and Ingo for your input on these changes
|
#
31f76857 |
|
09-May-2012 |
czeidler <haiku@clemens-zeidler.de> |
The layout checks the target view now if the layout invalidation has been disabled in the view.
|
#
981c729b |
|
28-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix potential uninitialized variable bug in BLayout::AllUnarchived(). BMessage::GetInfo() doesn't set the count output var in error cases.
|
#
9f029231 |
|
28-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix typo in BLayout::AllArchived(). BLayout::AllArchived() was forwarding to BArchivable, skipping BLayoutItem.
|
#
f1e81e61 |
|
28-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix bug in BLayout::RemoveView(). Fix typo-induced bug causing (in many cases) the wrong item to be removed from the layout! Also, improve performance from O(n * m) to O(n), although n and m will always be quite small in practice, we might as well.
|
#
d56e7bd6 |
|
01-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Make archiving hooks protected in layout classes. Furthermore, * remove a stray blank line in Layout.cpp * make BLayoutItem::SetLayout() private, as it should have been
|
#
53617d36 |
|
05-Nov-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Override a bunch of methods in layout related classes for FBC stability. * Especially made sure to override archiving methods, since these are called rarely, so the cost is very minimal * Otherwise, the closer a class is to a base class, the more likely I was to give it all the overrides.
|
#
8151838e |
|
02-Nov-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add FBC padding to all (I think..) of the visible Layout related classes.
|
#
a851b3ad |
|
31-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add Perform() methods to all the layout-related classes that needed them.
|
#
e7b0dc78 |
|
22-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Now that child classes aren't overriding the various InvalidateLayout() methods, we can take advantage of some guarantees to simplify/clean/optimize the layout invalidation propagation mechanisms!
|
#
b38ea98f |
|
16-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Devirtualize BLayout::InvalidateLayout(), add a protected hook BLayout::DoLayout(). This will allow for much better control over the propagation of layout invalidations, and therefore cleaner, more optimal code.
|
#
f87e4c73 |
|
16-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix bug in Layout.cpp's ViewRemover struct. operator() didn't deal well with NULLs.
|
#
90e61567 |
|
12-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix a bug in BLayout::AddItem() where the right conditions + an error would have caused the wrongful removal of a BView from its parent.
|
#
4e0131f5 |
|
09-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Rename BLayout::DerivedLayoutItems() to DoLayout(), which is consistent with BView::DoLayout(). Also adjusted child classes and documentation.
|
#
cc1ca167 |
|
09-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix a memory leak I introduced with my modification of BLayout::RemoveItem() and add comments so that it doesn't happen again. Also resolve some TODOs on the appropriate timing of calls to hook methods in BLayoutItem/BLayout.
|
#
fa01d084 |
|
08-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
User BView's layout item tracking functionality to simplify and optimize some methods in BLayout and BView. Delete BLayout::RemoveViewRecursive() as it is no longer needed. Add a few TODO's.
|
#
30b07d01 |
|
08-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Use the classes from AutoDeleter.h to improve BLayout::AddView() and to simplify the ViewRemover struct created for BLayout::AddItem().
|
#
ea907ab5 |
|
08-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Use BView's ability to track what layout items reference it to simplify BLayout::IndexOfView(). This also changes the semantics slightly, but I think it is a logical change.
|
#
bd97b9ad |
|
07-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add a BObjectList<BLayoutItem> to BView::fLayoutData that keeps track of any BLayoutItems that refer to this view that are part of a layout. BLayoutItem does the registering/deregistering of the items, and BView::Private proxies fLayoutData for us. Currently, this is not used anywhere, but there are many places where it will be used soon.
|
#
edb4c824 |
|
06-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add a method to BView::Private that calls BView::_RemoveSelf(). Add a struct to kits/interface/Layout.cpp that uses BView::Private to provide RAII mechanics for the removal of views (calling BView::Private::RemoveSelf()). Use the new struct to simplify BLayout::AddItem().
|
#
a9e89a73 |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Also made LayoutContext() const. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39526 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df730987 |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made AncestorsVisible() const. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39525 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ea301f3 |
|
22-Oct-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Update BLayout::IndexOfView() to return NULL for NULL input, and check for BViews that where added by BLayout, instead of by BViewLayoutItem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1d6c7b6c |
|
17-Aug-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Big change deriving BLayout from BLayoutItem, and allowing viewless BLayouts. a few highlights: * BLayout now derives publicly from BLayoutItem * Added BAbstractLayout class, which our layouts now derive from * updated layout builders to avoid creating views when they don't need to * updated layout classes * updated AboutSystem to fix a little regression * more details on #6407 * please tell me about any regressions, I've tried to find them all, but some may have slipped by. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38207 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6829d417 |
|
29-Jul-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Update BLayout::ItemAdded() and BLayout::ItemRemoved() to take an int32 index parameter, and ItemAdded() to return a bool indicating success or failure. Update BLayout::AddItem() to take the result of ItemAdded() into account. Also update BLayout::AllUnarchived() to take this into account. In either situation, if ItemAdded() returns false, the item does not get added to the layout. Removed various TODOs about code that could be removed once this change was made. In BSplitLayout, an item's LayoutData was lazy-initialized, but would always be created during ItemAdded(). Now we create the LayoutData explicitly, so that we can catch failed memory allocations. Closes #5524. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a254e4d |
|
27-Jul-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Generally, clean up new archiving constant names & strings to be consistent in all classes. Modify archiving constants to be const char* const (thanks Ingo). Also modify archiving in many classes to use less fields by storing more data in arrays and structs. The common min, max, and preferred sizes, for example are always stored in an array now. In BTwoDimensionalLayout and BSplitLayout, the insets are archived in a BRect. Also fixed a typo in BGridLayout which caused column info to be incorrect during archival. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37777 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b137ab3e |
|
16-Jul-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Alex Wilson (minor changes by myself) related to the new archiving features: * Some cosmetic adjustments of the API, like using references instead of pointers, argument order, method names, etc. * Added convenience template methods for archiving and unarchiving to BArchiver and BUnarchiver. * BUnarchiver (respectively the private BUnarchiveManager) explicitly deals with object ownership, now. This is necessary since an error while unarchiving could leave an already unarchived object without owning object, which would result in it being leaked. The BUnarchiver::{Get,Find}Object() methods do now have an optional parameter to specify whether object ownership shall be transferred. * Fixed incorrect header guard in headers/private/binary_compatibility/Global.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37538 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27d84b48 |
|
08-Jul-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Patch by Alex Wilson as part of GSoC 2010 : Archiving of Layouted BViews hierarchy. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37433 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f374f0d9 |
|
18-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* A view can have more than just one LayoutItem, and therefore, we have to remove them all in RemoveView(). * Also, previously, the wrong LayoutItem could be removed if there was any view that had more than one item around. * IOW using BView::RemoveSelf()/RemoveChild() yourself would have leaked memory in the best case, and would otherwise crash your app if there was any view with more than one LayoutItem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25024 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9ecf9d1c |
|
26-Aug-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge from layout management branch. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebea950b2df08711adaca9f2c0d282d48667e545 |
|
18-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
BLayout: Don't delete the layout of the view in RemoveView(). The layout item representing the layout of the view to be removed is owned by the view and must not be deleted. The layout only owns the item if a new layout item was created when adding the view, i.e. when it did not have a layout. Fixes the underlying issue that triggered #11976.
|
#
e837ee8bc6de62d1b98dfe2a3097f4f740dd98b4 |
|
14-Apr-2015 |
Michael Lotz <mmlr@mlotz.ch> |
BView: Fix destruction order of layout items. Because of the virtual hooks a BLayout must never be destroyed while it still has layout items. If these items are only removed from the layout in its destructor, the subclass version of hooks like ItemRemoved() are not called anymore. This lead to leaks because many BLayout subclasses use the ItemRemoved() hook to clean up associated data (as is suggested explicitly in the BLayout documentation). In the same line of thought, a BLayoutItem must never be deleted when it is still attached to a layout, as it similarly has virtual hooks like DetachedFromLayout() that can not be called at this point anymore. The destructors of BLayout and BLayoutItem now have debugger calls in case these conditions are not met which should help to avoid accidentally introducing such hard to debug issues. To ensure the correct destruction order the sequence is now: * Destroy the child views first. This cleans up their layout items while the layout tree is still intact. * Unset the view layout before removing layout items so it can properly detach from the layout instead of just deleting it.
|
#
caddc641c1682911446623c09d95170423aaa0de |
|
15-Nov-2012 |
Joseph R. Prostko <joe.prostko@gmail.com> |
Changes to allow Haiku source to build with GCC 4.7 * GCC 4.7 is more picky than GCC 4.6, so have to make changes accordingly * Changes include addressing issues with scoping, redeclaration, etc. Thanks Rene and Ingo for your input on these changes
|
#
31f768577ea9a64f880fc9d769648337f01eede8 |
|
09-May-2012 |
czeidler <haiku@clemens-zeidler.de> |
The layout checks the target view now if the layout invalidation has been disabled in the view.
|
#
981c729bdca928743f9bf6e7fc611563c312cbc3 |
|
28-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix potential uninitialized variable bug in BLayout::AllUnarchived(). BMessage::GetInfo() doesn't set the count output var in error cases.
|
#
9f0292314dc414b8f0294ddd7a87d0d69d9d5960 |
|
28-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix typo in BLayout::AllArchived(). BLayout::AllArchived() was forwarding to BArchivable, skipping BLayoutItem.
|
#
f1e81e617247b1c827755a31627325c33052407e |
|
28-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix bug in BLayout::RemoveView(). Fix typo-induced bug causing (in many cases) the wrong item to be removed from the layout! Also, improve performance from O(n * m) to O(n), although n and m will always be quite small in practice, we might as well.
|
#
d56e7bd64d975565dbdd2c38230b6f14eb3e5906 |
|
01-Dec-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Make archiving hooks protected in layout classes. Furthermore, * remove a stray blank line in Layout.cpp * make BLayoutItem::SetLayout() private, as it should have been
|
#
53617d366d1729716cc1e2764feb4a734b65b9f0 |
|
05-Nov-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Override a bunch of methods in layout related classes for FBC stability. * Especially made sure to override archiving methods, since these are called rarely, so the cost is very minimal * Otherwise, the closer a class is to a base class, the more likely I was to give it all the overrides.
|
#
8151838e3892d0a18d89d73e2cc37e1f5d01264d |
|
02-Nov-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add FBC padding to all (I think..) of the visible Layout related classes.
|
#
a851b3ad543ebaebc18589b959c01ccaaf35202f |
|
31-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add Perform() methods to all the layout-related classes that needed them.
|
#
e7b0dc78f7695340de8d5fd6ab4d0798809e0f0b |
|
22-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Now that child classes aren't overriding the various InvalidateLayout() methods, we can take advantage of some guarantees to simplify/clean/optimize the layout invalidation propagation mechanisms!
|
#
b38ea98f527e2d4a610e9891a10d19ddc9bc00c1 |
|
16-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Devirtualize BLayout::InvalidateLayout(), add a protected hook BLayout::DoLayout(). This will allow for much better control over the propagation of layout invalidations, and therefore cleaner, more optimal code.
|
#
f87e4c7302448a36ffd29dc4c3163f1fdc3c3fe6 |
|
16-Oct-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix bug in Layout.cpp's ViewRemover struct. operator() didn't deal well with NULLs.
|
#
90e615679c88f6d306a4aef56eaa44f7e871b7aa |
|
12-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix a bug in BLayout::AddItem() where the right conditions + an error would have caused the wrongful removal of a BView from its parent.
|
#
4e0131f51ba30445ab5b48d57ad45564cf6617d1 |
|
09-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Rename BLayout::DerivedLayoutItems() to DoLayout(), which is consistent with BView::DoLayout(). Also adjusted child classes and documentation.
|
#
cc1ca167a4393a08afafab8ab4cca4194cbee56f |
|
09-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Fix a memory leak I introduced with my modification of BLayout::RemoveItem() and add comments so that it doesn't happen again. Also resolve some TODOs on the appropriate timing of calls to hook methods in BLayoutItem/BLayout.
|
#
fa01d084960d9ee5acf5786c5f15c6e956026be8 |
|
08-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
User BView's layout item tracking functionality to simplify and optimize some methods in BLayout and BView. Delete BLayout::RemoveViewRecursive() as it is no longer needed. Add a few TODO's.
|
#
30b07d019d9584e3722bf253aa2ca14e397d6849 |
|
08-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Use the classes from AutoDeleter.h to improve BLayout::AddView() and to simplify the ViewRemover struct created for BLayout::AddItem().
|
#
ea907ab5876ff85dce82b76c12cca8ebcdfa624e |
|
08-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Use BView's ability to track what layout items reference it to simplify BLayout::IndexOfView(). This also changes the semantics slightly, but I think it is a logical change.
|
#
bd97b9adba41005ca6dafaf0c32f63422ec351b6 |
|
07-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add a BObjectList<BLayoutItem> to BView::fLayoutData that keeps track of any BLayoutItems that refer to this view that are part of a layout. BLayoutItem does the registering/deregistering of the items, and BView::Private proxies fLayoutData for us. Currently, this is not used anywhere, but there are many places where it will be used soon.
|
#
edb4c8244cfe8ed3801ef4854d45c03324c96510 |
|
06-Sep-2011 |
Alex Wilson <yourpalal2@gmail.com> |
Add a method to BView::Private that calls BView::_RemoveSelf(). Add a struct to kits/interface/Layout.cpp that uses BView::Private to provide RAII mechanics for the removal of views (calling BView::Private::RemoveSelf()). Use the new struct to simplify BLayout::AddItem().
|
#
a9e89a7325821b05f895de0c6265bf8b48791fba |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Also made LayoutContext() const. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39526 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df7309870f10bc3f710f0de8078986064359b785 |
|
19-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made AncestorsVisible() const. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39525 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ea301f30e612e8c8b85387e5a1e3d1bef54c894 |
|
22-Oct-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Update BLayout::IndexOfView() to return NULL for NULL input, and check for BViews that where added by BLayout, instead of by BViewLayoutItem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39043 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1d6c7b6cb6f46c2672074ff137a18833d4dd3041 |
|
17-Aug-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Big change deriving BLayout from BLayoutItem, and allowing viewless BLayouts. a few highlights: * BLayout now derives publicly from BLayoutItem * Added BAbstractLayout class, which our layouts now derive from * updated layout builders to avoid creating views when they don't need to * updated layout classes * updated AboutSystem to fix a little regression * more details on #6407 * please tell me about any regressions, I've tried to find them all, but some may have slipped by. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38207 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6829d4174ba57d752c8d470a55789112db477daf |
|
29-Jul-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Update BLayout::ItemAdded() and BLayout::ItemRemoved() to take an int32 index parameter, and ItemAdded() to return a bool indicating success or failure. Update BLayout::AddItem() to take the result of ItemAdded() into account. Also update BLayout::AllUnarchived() to take this into account. In either situation, if ItemAdded() returns false, the item does not get added to the layout. Removed various TODOs about code that could be removed once this change was made. In BSplitLayout, an item's LayoutData was lazy-initialized, but would always be created during ItemAdded(). Now we create the LayoutData explicitly, so that we can catch failed memory allocations. Closes #5524. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4a254e4ddbb0aaeb909ecd68a8442c4302618050 |
|
27-Jul-2010 |
Alex Wilson <yourpalal2@gmail.com> |
Generally, clean up new archiving constant names & strings to be consistent in all classes. Modify archiving constants to be const char* const (thanks Ingo). Also modify archiving in many classes to use less fields by storing more data in arrays and structs. The common min, max, and preferred sizes, for example are always stored in an array now. In BTwoDimensionalLayout and BSplitLayout, the insets are archived in a BRect. Also fixed a typo in BGridLayout which caused column info to be incorrect during archival. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37777 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b137ab3eb34e8c43c76dab64c09d2718569cf1d5 |
|
16-Jul-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Alex Wilson (minor changes by myself) related to the new archiving features: * Some cosmetic adjustments of the API, like using references instead of pointers, argument order, method names, etc. * Added convenience template methods for archiving and unarchiving to BArchiver and BUnarchiver. * BUnarchiver (respectively the private BUnarchiveManager) explicitly deals with object ownership, now. This is necessary since an error while unarchiving could leave an already unarchived object without owning object, which would result in it being leaked. The BUnarchiver::{Get,Find}Object() methods do now have an optional parameter to specify whether object ownership shall be transferred. * Fixed incorrect header guard in headers/private/binary_compatibility/Global.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37538 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
27d84b482cddb07e4dee8ee345d3b9a61000d2ec |
|
08-Jul-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Patch by Alex Wilson as part of GSoC 2010 : Archiving of Layouted BViews hierarchy. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37433 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f374f0d9f1d089742bdb69f97bb9de4555247167 |
|
18-Apr-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* A view can have more than just one LayoutItem, and therefore, we have to remove them all in RemoveView(). * Also, previously, the wrong LayoutItem could be removed if there was any view that had more than one item around. * IOW using BView::RemoveSelf()/RemoveChild() yourself would have leaked memory in the best case, and would otherwise crash your app if there was any view with more than one LayoutItem. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25024 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9ecf9d1c1d4888d341a6eac72112c72d1ae3a4cb |
|
26-Aug-2006 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge from layout management branch. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18649 a95241bf-73f2-0310-859d-f6bbb57e9c96
|