From c994d7937e502fe4a0b9bc46d876a77a34f0c3d5 Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Tue, 8 Feb 2011 19:44:21 -0500
Subject: [PATCH] SWAT-481: add event wrapper for
 LLFloaterReg::instanceVisible()

---
 indra/llui/llfloaterreglistener.cpp | 13 +++++++++++++
 indra/llui/llfloaterreglistener.h   |  1 +
 2 files changed, 14 insertions(+)

diff --git a/indra/llui/llfloaterreglistener.cpp b/indra/llui/llfloaterreglistener.cpp
index 821d4543aef..ec2ac6834e2 100644
--- a/indra/llui/llfloaterreglistener.cpp
+++ b/indra/llui/llfloaterreglistener.cpp
@@ -60,6 +60,11 @@ LLFloaterRegListener::LLFloaterRegListener():
         "Ask to toggle the state of the floater specified in [\"name\"]",
         &LLFloaterRegListener::toggleInstance,
         requiredName);
+    add("instanceVisible",
+        "Return on [\"reply\"] an event whose [\"visible\"] indicates the visibility "
+        "of the floater specified in [\"name\"]",
+        &LLFloaterRegListener::instanceVisible,
+        requiredName);
     LLSD requiredNameButton;
     requiredNameButton["name"] = LLSD();
     requiredNameButton["button"] = LLSD();
@@ -104,6 +109,14 @@ void LLFloaterRegListener::toggleInstance(const LLSD& event) const
     LLFloaterReg::toggleInstance(event["name"], event["key"]);
 }
 
+void LLFloaterRegListener::instanceVisible(const LLSD& event) const
+{
+    LLReqID reqID(event);
+    LLSD reply(reqID.makeResponse());
+    reply["visible"] = LLFloaterReg::instanceVisible(event["name"], event["key"]);
+    LLEventPumps::instance().obtain(event["reply"]).post(reply);
+}
+
 void LLFloaterRegListener::clickButton(const LLSD& event) const
 {
     // If the caller requests a reply, build the reply.
diff --git a/indra/llui/llfloaterreglistener.h b/indra/llui/llfloaterreglistener.h
index 586656667ce..24311a2dfa2 100644
--- a/indra/llui/llfloaterreglistener.h
+++ b/indra/llui/llfloaterreglistener.h
@@ -47,6 +47,7 @@ class LLFloaterRegListener: public LLEventAPI
     void showInstance(const LLSD& event) const;
     void hideInstance(const LLSD& event) const;
     void toggleInstance(const LLSD& event) const;
+    void instanceVisible(const LLSD& event) const;
     void clickButton(const LLSD& event) const;
 };
 
-- 
GitLab