summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorBaker Linden <baker@lindenlab.com>2014-02-20 15:23:53 -0800
committerBaker Linden <baker@lindenlab.com>2014-02-20 15:23:53 -0800
commit7faaaa9b113715827ad7103be1865d83eb67793f (patch)
tree4a1b33704aa3b4e4a541640f59300a46fcbaa549 /indra/llui
parentba0b11fee19b917d26e841f4466d221a50a185b6 (diff)
[MAINT-3555] Adding a bajillion log messages to (hopefully) narrow down the cause of the crash
Diffstat (limited to 'indra/llui')
-rwxr-xr-xindra/llui/llfloater.cpp21
-rwxr-xr-xindra/llui/lllayoutstack.cpp9
-rwxr-xr-xindra/llui/llpanel.cpp6
-rwxr-xr-xindra/llui/lltabcontainer.cpp8
-rwxr-xr-xindra/llui/lluictrl.cpp24
-rwxr-xr-xindra/llui/llview.cpp15
6 files changed, 81 insertions, 2 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index acf38afe32..96964b528e 100755
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -505,31 +505,48 @@ void LLFloater::destroy()
// virtual
LLFloater::~LLFloater()
{
+ LL_INFOS("Baker") << "[3555] ~LLFloater() -------------------------------------------------" << LL_ENDL;
+
LLFloaterReg::removeInstance(mInstanceName, mKey);
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Does child have keyboard focus?" << LL_ENDL;
if( gFocusMgr.childHasKeyboardFocus(this))
{
- // Just in case we might still have focus here, release it.
- releaseFocus();
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Yes, release the focus." << LL_ENDL;
+ // Just in case we might still have focus here, release it.
+ releaseFocus();
}
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Setting minimized to false" << LL_ENDL;
// This is important so that floaters with persistent rects (i.e., those
// created with rect control rather than an LLRect) are restored in their
// correct, non-minimized positions.
setMinimized( FALSE );
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Deleting the drag handle." << LL_ENDL;
delete mDragHandle;
for (S32 i = 0; i < 4; i++)
{
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Deleting mResizeBar[" << i << "]" << LL_ENDL;
delete mResizeBar[i];
+
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Deleting mResizeHandle[" << i << "]" << LL_ENDL;
delete mResizeHandle[i];
}
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Setting visibility (false)" << LL_ENDL;
setVisible(false); // We're not visible if we're destroyed
+
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Storing visibility control" << LL_ENDL;
storeVisibilityControl();
+
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Storing dock state control" << LL_ENDL;
storeDockStateControl();
+ LL_INFOS("Baker") << "[3555] ~LLFloater() - Delete mMinimizeSignal" << LL_ENDL;
delete mMinimizeSignal;
+
+ LL_INFOS("Baker") << "[3555] Exiting ~LLFloater()" << LL_ENDL;
}
void LLFloater::storeRectControl()
diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp
index c89c0203b4..953025abbf 100755
--- a/indra/llui/lllayoutstack.cpp
+++ b/indra/llui/lllayoutstack.cpp
@@ -245,9 +245,18 @@ LLLayoutStack::LLLayoutStack(const LLLayoutStack::Params& p)
LLLayoutStack::~LLLayoutStack()
{
+ LL_INFOS("Baker") << "[3555] ~LLLayoutStack() -------------------------------------------------" << LL_ENDL;
+
+ LL_INFOS("Baker") << "[3555] ~LLLayoutStack() - Copying panel pointers." << LL_ENDL;
e_panel_list_t panels = mPanels; // copy list of panel pointers
+
+ LL_INFOS("Baker") << "[3555] ~LLLayoutStack() - Clearing mPanels." << LL_ENDL;
mPanels.clear(); // clear so that removeChild() calls don't cause trouble
+
+ LL_INFOS("Baker") << "[3555] ~LLLayoutStack() - Deleing copied panel pointers." << LL_ENDL;
std::for_each(panels.begin(), panels.end(), DeletePointer());
+
+ LL_INFOS("Baker") << "[3555] Exiting ~LLLayoutStack()" << LL_ENDL;
}
void LLLayoutStack::draw()
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index 67472ad166..3ee93150f5 100755
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -126,7 +126,13 @@ LLPanel::LLPanel(const LLPanel::Params& p)
LLPanel::~LLPanel()
{
+ LL_INFOS("Baker") << "[3555] ~LLPanel() -------------------------------------------------" << LL_ENDL;
+ LL_INFOS("Baker") << "[3555] ~LLPanel() - Deleting mVisibleSignal..." << LL_ENDL;
+
delete mVisibleSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLPanel() - deleted." << LL_ENDL;
+ LL_INFOS("Baker") << "[3555] Exiting ~LLPanel()" << LL_ENDL;
}
// virtual
diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp
index 2b9286f663..203bf5b50e 100755
--- a/indra/llui/lltabcontainer.cpp
+++ b/indra/llui/lltabcontainer.cpp
@@ -280,8 +280,16 @@ LLTabContainer::LLTabContainer(const LLTabContainer::Params& p)
LLTabContainer::~LLTabContainer()
{
+ LL_INFOS("Baker") << "[3555] ~LLTabContainer() -------------------------------------------------" << LL_ENDL;
+ LL_INFOS("Baker") << "[3555] ~LLTabContainer() - Deleting mTabList contents..." << LL_ENDL;
+
std::for_each(mTabList.begin(), mTabList.end(), DeletePointer());
+
+ LL_INFOS("Baker") << "[3555] ~LLTabContainer() - Clearing mTabList" << LL_ENDL;
mTabList.clear();
+
+ LL_INFOS("Baker") << "[3555] ~LLTabContainer() - done." << LL_ENDL;
+ LL_INFOS("Baker") << "[3555] Exiting ~LLTabContainer()" << LL_ENDL;
}
//virtual
diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp
index 1722bf27bd..801d39ac70 100755
--- a/indra/llui/lluictrl.cpp
+++ b/indra/llui/lluictrl.cpp
@@ -207,23 +207,47 @@ void LLUICtrl::initFromParams(const Params& p)
LLUICtrl::~LLUICtrl()
{
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() -------------------------------------------------" << LL_ENDL;
+
gFocusMgr.releaseFocusIfNeeded( this ); // calls onCommit()
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - Released focus if needed." << LL_ENDL;
+
if( gFocusMgr.getTopCtrl() == this )
{
+ llinfos << "[3555] ~LLUICtrl() - UI Control holding top ctrl deleted: " << getName() << ". Top view removed." << llendl;
llwarns << "UI Control holding top ctrl deleted: " << getName() << ". Top view removed." << llendl;
gFocusMgr.removeTopCtrlWithoutCallback( this );
}
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mCommitSignal" << LL_ENDL;
delete mCommitSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mValidateSignal" << LL_ENDL;
delete mValidateSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mMouseEnterSignal" << LL_ENDL;
delete mMouseEnterSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mMouseLeaveSignal" << LL_ENDL;
delete mMouseLeaveSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mMouseDownSignal" << LL_ENDL;
delete mMouseDownSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mMouseUpSignal" << LL_ENDL;
delete mMouseUpSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mRightMouseDownSignal" << LL_ENDL;
delete mRightMouseDownSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mRightMouseUpSignal" << LL_ENDL;
delete mRightMouseUpSignal;
+
+ LL_INFOS("Baker") << "[3555] ~LLUICtrl() - deleting mDoubleClickSignal" << LL_ENDL;
delete mDoubleClickSignal;
+
+ LL_INFOS("Baker") << "[3555] Exiting ~LLUICtrl()" << LL_ENDL;
}
void default_commit_handler(LLUICtrl* ctrl, const LLSD& param)
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 5ee2169b66..daa87e8334 100755
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -150,10 +150,16 @@ LLView::LLView(const LLView::Params& p)
LLView::~LLView()
{
+ LL_INFOS("Baker") << "[3555] ~LLView -------------------------------------------------" << LL_ENDL;
+
+ LL_INFOS("Baker") << "[3555] ~LLView() - Dirtying view rect" << LL_ENDL;
dirtyRect();
//llinfos << "Deleting view " << mName << ":" << (void*) this << llendl;
+ LL_INFOS("Baker") << "[3555] ~LLView() - Deleting view " << mName << ":" << (void*) this << LL_ENDL;
if (LLView::sIsDrawing)
{
+ LL_INFOS("Baker") << "[3555] ~LLView() - Deleting view " << mName << " during UI draw() phase" << LL_ENDL;
+
lldebugs << "Deleting view " << mName << " during UI draw() phase" << llendl;
}
// llassert(LLView::sIsDrawing == FALSE);
@@ -163,21 +169,30 @@ LLView::~LLView()
if( hasMouseCapture() )
{
//llwarns << "View holding mouse capture deleted: " << getName() << ". Mouse capture removed." << llendl;
+ LL_INFOS("Baker") << "[3555] ~LLView() - View holding mouse capture deleted: " << getName() << ". Mouse capture removed." << LL_ENDL;
gFocusMgr.removeMouseCaptureWithoutCallback( this );
}
+ LL_INFOS("Baker") << "[3555] ~LLView() - Deleting all children..." << LL_ENDL;
deleteAllChildren();
+ LL_INFOS("Baker") << "[3555] ~LLView() - done." << LL_ENDL;
+
if (mParentView != NULL)
{
+ LL_INFOS("Baker") << "[3555] ~LLView() - Removing this child view" << LL_ENDL;
mParentView->removeChild(this);
}
if (mDefaultWidgets)
{
+ LL_INFOS("Baker") << "[3555] ~LLView() - Deleting default widgets" << LL_ENDL;
+
delete mDefaultWidgets;
mDefaultWidgets = NULL;
}
+
+ LL_INFOS("Baker") << "[3555] Exiting ~LLView()" << LL_ENDL;
}
// virtual