From dd82169fd2bc04ca3b2d2db1393541f90e94361e Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 11 Nov 2020 00:30:07 +0100 Subject: [PATCH] FIRE-11813: Proper fix for pure virtual function call crash in OXP export floater --- indra/newview/fsfloaterexport.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/indra/newview/fsfloaterexport.cpp b/indra/newview/fsfloaterexport.cpp index af4b8442bb..4e6bd43315 100644 --- a/indra/newview/fsfloaterexport.cpp +++ b/indra/newview/fsfloaterexport.cpp @@ -32,7 +32,6 @@ #include "lfsimfeaturehandler.h" #include "llagent.h" -//#include "llagentconstants.h" #include "llagentdata.h" #include "llavatarnamecache.h" #include "llbufferstream.h" @@ -212,6 +211,15 @@ FSFloaterObjectExport::~FSFloaterObjectExport() { gIdleCallbacks.deleteFunction(FSFloaterObjectExport::onIdle, this); } + + for (const auto& object_id : mInventoryRequests) + { + LLViewerObject* object = gObjectList.findObject(object_id); + if (object) + { + object->removeInventoryListener(this); + } + } } BOOL FSFloaterObjectExport::postBuild() @@ -1098,7 +1106,7 @@ void FSFloaterObjectExport::onExportFileSelected(const std::vector& if (!exportSelection()) { LLNotificationsUtil::add("ExportFailed"); - //closeFloater(); + closeFloater(); } }