SL-19886 Fix onidle crash after closing inventory floater
parent
7607047a95
commit
b5b0c17439
|
|
@ -55,7 +55,7 @@ void LLCallbackList::addFunction( callback_t func, void *data)
|
|||
|
||||
// only add one callback per func/data pair
|
||||
//
|
||||
if (containsFunction(func))
|
||||
if (containsFunction(func, data))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,8 +143,8 @@ LLInventoryGallery::~LLInventoryGallery()
|
|||
delete mInventoryGalleryMenu;
|
||||
delete mRootGalleryMenu;
|
||||
delete mFilter;
|
||||
|
||||
gIdleCallbacks.deleteFunction(onIdle, this);
|
||||
|
||||
gIdleCallbacks.deleteFunction(onIdle, (void*)this);
|
||||
|
||||
while (!mUnusedRowPanels.empty())
|
||||
{
|
||||
|
|
@ -184,8 +184,6 @@ LLInventoryGallery::~LLInventoryGallery()
|
|||
|
||||
void LLInventoryGallery::setRootFolder(const LLUUID cat_id)
|
||||
{
|
||||
gIdleCallbacks.deleteFunction(onIdle, this);
|
||||
|
||||
LLViewerInventoryCategory* category = gInventory.getCategory(cat_id);
|
||||
if(!category || (mFolderID == cat_id))
|
||||
{
|
||||
|
|
@ -195,7 +193,13 @@ void LLInventoryGallery::setRootFolder(const LLUUID cat_id)
|
|||
{
|
||||
mBackwardFolders.push_back(mFolderID);
|
||||
}
|
||||
|
||||
gIdleCallbacks.deleteFunction(onIdle, (void*)this);
|
||||
|
||||
mFolderID = cat_id;
|
||||
mItemToSelect.setNull();
|
||||
mItemBuildQuery.clear();
|
||||
mNeedsArrange = false;
|
||||
dirtyRootFolder();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue