Revert "This adds some resource-ownership tracking."

This reverts commit fad3dbc39a.
This commit is contained in:
2025-04-16 04:16:04 -04:00
parent d001d2609b
commit 80f980a2e1
11 changed files with 43 additions and 47 deletions

View File

@ -327,8 +327,10 @@ Layout::~Layout ()
if (bgImage)
bgImage->unref ();
if (topLevel) {
detachWidget (topLevel.get());
topLevel.reset();
detachWidget (topLevel);
Widget *w = topLevel;
topLevel = NULL;
delete w;
}
delete queueResizeList;
@ -362,7 +364,7 @@ void Layout::detachWidget (Widget *widget)
it->unref ();
}
void Layout::addWidget (std::unique_ptr< Widget > widget)
void Layout::addWidget (Widget *widget)
{
if (topLevel) {
MSG_WARN("widget already set\n");
@ -372,20 +374,20 @@ void Layout::addWidget (std::unique_ptr< Widget > widget)
// The toplevel widget always establishes a stacking context. It could
// already be set in Widget::setStyle().
if (widget->stackingContextMgr == NULL && IMPL_POS) {
widget->stackingContextMgr = new StackingContextMgr (widget.get());
DBG_OBJ_ASSOC (widget.get(), widget->stackingContextMgr);
widget->stackingContextWidget = widget.get();
widget->stackingContextMgr = new StackingContextMgr (widget);
DBG_OBJ_ASSOC (widget, widget->stackingContextMgr);
widget->stackingContextWidget = widget;
}
topLevel = std::move( widget );
topLevel->layout = this;
topLevel->container = NULL;
DBG_OBJ_SET_PTR_O (topLevel.get(), "container", topLevel->container);
topLevel = widget;
widget->layout = this;
widget->container = NULL;
DBG_OBJ_SET_PTR_O (widget, "container", widget->container);
queueResizeList->clear ();
topLevel->notifySetAsTopLevel ();
widget->notifySetAsTopLevel ();
findtextState.setWidget (topLevel.get());
findtextState.setWidget (widget);
canvasHeightGreater = false;
DBG_OBJ_SET_SYM ("canvasHeightGreater",
@ -424,16 +426,18 @@ void Layout::removeWidget ()
updateCursor ();
}
void Layout::setWidget (std::unique_ptr< Widget >widget)
void Layout::setWidget (Widget *widget)
{
DBG_OBJ_ASSOC_CHILD (widget);
widgetAtPoint = NULL;
if (topLevel) {
topLevel.reset();
Widget *w = topLevel;
topLevel = NULL;
delete w;
}
textZone->zoneFree ();
addWidget (std::move(widget));
addWidget (widget);
updateCursor ();