From af26f6b49f0bb5064811387c7581d9d65bc33c92 Mon Sep 17 00:00:00 2001 From: Hazim Gazov Date: Sat, 8 May 2010 22:11:03 -0300 Subject: [PATCH] start ungaying the message log floater (goddamn pointer magic removed) --- indra/newview/llfloatermessagelog.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/indra/newview/llfloatermessagelog.cpp b/indra/newview/llfloatermessagelog.cpp index b728a3b28..b9d260f21 100644 --- a/indra/newview/llfloatermessagelog.cpp +++ b/indra/newview/llfloatermessagelog.cpp @@ -785,18 +785,19 @@ BOOL LLFloaterMessageLog::onClickCloseCircuit(void* user_data) LLNetListItem* itemp = (LLNetListItem*)user_data; LLCircuitData* cdp = itemp->mCircuitData; if(!cdp) return FALSE; + LLHost* circuithost = cdp->getHost(); LLSD args; args["MESSAGE"] = "This will delete local circuit data.\nDo you want to tell the remote host to close the circuit too?"; LLSD payload; - payload["netlistitem"] = (int)((void*)itemp); //oh god, this is so very wrong, wonder if there's another way to get LLSD to like pointers + payload["circuittoclose"] = circuithost->getString(); LLNotifications::instance().add("GenericAlertYesCancel", args, payload, onConfirmCloseCircuit); return TRUE; } // static void LLFloaterMessageLog::onConfirmCloseCircuit(S32 option, LLSD payload) { - LLNetListItem* itemp = (LLNetListItem*)((void*)((int)payload["netlistitem"].asInteger())); //yep... - LLCircuitData* cdp = itemp->mCircuitData; + LLHost myhost = new LLHost(payload["circuittoclose"]); + LLCircuitData* cdp = gMessageSystem->mCircuitInfo.findCircuit(myhost); if(!cdp) return; LLViewerRegion* regionp = LLWorld::getInstance()->getRegion(cdp->getHost()); switch(option)