From 10459c79e793c09ea976a24ce1026c42ccf2690d Mon Sep 17 00:00:00 2001
From: Steven Bennetts <steve@lindenlab.com>
Date: Sat, 29 Aug 2009 01:08:39 +0000
Subject: [PATCH] EXT-614 Object inventory does not update to show inventory
 created or placed in the object.

Reviewed by: Seraph
---
 indra/newview/llfloatertools.cpp    |  2 +-
 indra/newview/llinventoryfilter.cpp | 11 ++++++++---
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index bbcab00ab2a..d05c9cb9a79 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -446,7 +446,7 @@ void LLFloaterTools::draw()
 void LLFloaterTools::dirty()
 {
 	mDirty = TRUE; 
-	LLFloaterOpenObject* instance = LLFloaterReg::getTypedInstance<LLFloaterOpenObject>("openobject");
+	LLFloaterOpenObject* instance = LLFloaterReg::findTypedInstance<LLFloaterOpenObject>("openobject");
 	if (instance) instance->dirty();
 }
 
diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index c41900d6919..b4d3f4575bc 100644
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -111,11 +111,16 @@ BOOL LLInventoryFilter::check(LLFolderViewItem* item)
 	}
 	else
 	{
-		passed_type |= ((1LL << listener->getInventoryType() & mFilterOps.mFilterTypes) != U64(0));
-		if (listener->getInventoryType() == LLInventoryType::IT_NONE)
+		LLInventoryType::EType type = listener->getInventoryType();
+		passed_type |= ((1LL << type & mFilterOps.mFilterTypes) != U64(0));
+		if (type == LLInventoryType::IT_NONE)
 		{
 			const LLInventoryObject *obj = gInventory.getObject(listener->getUUID());
-			if (obj && !obj->getIsLinkType())
+			if (obj && obj->getIsLinkType())
+			{
+				passed_type = FALSE;
+			}
+			else
 			{
 				passed_type = TRUE;
 			}
-- 
GitLab