Put some ownership on a vector.
This commit is contained in:
14
dw/layout.cc
14
dw/layout.cc
@ -262,8 +262,6 @@ Layout::Layout (Platform *platform, bool limit)
|
||||
topLevel = NULL;
|
||||
widgetAtPoint = NULL;
|
||||
|
||||
queueResizeList = new typed::Vector<Widget> (4, false);
|
||||
|
||||
DBG_OBJ_CREATE ("dw::core::Layout");
|
||||
|
||||
bgColor = NULL;
|
||||
@ -331,7 +329,6 @@ Layout::~Layout ()
|
||||
topLevel.reset();
|
||||
}
|
||||
|
||||
delete queueResizeList;
|
||||
delete platform;
|
||||
delete view;
|
||||
delete textZone;
|
||||
@ -383,7 +380,7 @@ void Layout::addWidget (std::unique_ptr< Widget > widget)
|
||||
widget_p->container = NULL;
|
||||
DBG_OBJ_SET_PTR_O (widget_p, "container", widget_p->container);
|
||||
|
||||
queueResizeList->clear ();
|
||||
queueResizeList.clear ();
|
||||
widget_p->notifySetAsTopLevel ();
|
||||
|
||||
findtextState.setWidget (widget_p);
|
||||
@ -404,7 +401,7 @@ void Layout::removeWidget ()
|
||||
* \bug Some more attributes must be reset here.
|
||||
*/
|
||||
topLevel = NULL;
|
||||
queueResizeList->clear ();
|
||||
queueResizeList.clear ();
|
||||
widgetAtPoint = NULL;
|
||||
canvasWidth = canvasAscent = canvasDescent = 0;
|
||||
scrollX = scrollY = 0;
|
||||
@ -887,10 +884,7 @@ void Layout::resizeIdle ()
|
||||
|
||||
resizeCounter++;
|
||||
|
||||
for (typed::Iterator <Widget> it = queueResizeList->iterator();
|
||||
it.hasNext (); ) {
|
||||
Widget *widget = it.getNext ();
|
||||
|
||||
for( auto &widget: queueResizeList ) {
|
||||
if (widget->resizeQueued ()) {
|
||||
widget->setFlags (Widget::NEEDS_RESIZE);
|
||||
widget->unsetFlags (Widget::RESIZE_QUEUED);
|
||||
@ -906,7 +900,7 @@ void Layout::resizeIdle ()
|
||||
widget->unsetFlags (Widget::EXTREMES_QUEUED);
|
||||
}
|
||||
}
|
||||
queueResizeList->clear ();
|
||||
queueResizeList.clear ();
|
||||
|
||||
// Reset here, since below, queueResize() may be called again.
|
||||
resizeIdleId = -1;
|
||||
|
||||
Reference in New Issue
Block a user