diff options
author | McCabe Maxsted | 2010-06-05 02:19:12 -0700 |
---|---|---|
committer | Jacek Antonelli | 2010-06-19 02:43:30 -0500 |
commit | fa004431e6dc454f1ceacace1234c39bb19f7d89 (patch) | |
tree | 51dd85d9c162284a8a3160293aae5459b72f81a2 /linden/indra/newview/llviewermessage.cpp | |
parent | Make sure we only create menus once per session (diff) | |
download | meta-impy-fa004431e6dc454f1ceacace1234c39bb19f7d89.zip meta-impy-fa004431e6dc454f1ceacace1234c39bb19f7d89.tar.gz meta-impy-fa004431e6dc454f1ceacace1234c39bb19f7d89.tar.bz2 meta-impy-fa004431e6dc454f1ceacace1234c39bb19f7d89.tar.xz |
Rewrote the radar code to fix some basic issues
i.e. avatars stuck as typing, appearing multiple times, or spamming
the chat notify (also added a ban button while I was there)
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llviewermessage.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 35fd669..76c1508 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -140,6 +140,7 @@ | |||
140 | 140 | ||
141 | #include "llwlparammanager.h" | 141 | #include "llwlparammanager.h" |
142 | #include "llwaterparammanager.h" | 142 | #include "llwaterparammanager.h" |
143 | #include "panelradarentry.h" | ||
143 | 144 | ||
144 | #include <boost/tokenizer.hpp> | 145 | #include <boost/tokenizer.hpp> |
145 | #include <boost/regex.hpp> // Boost Reg Expresions | 146 | #include <boost/regex.hpp> // Boost Reg Expresions |
@@ -2785,7 +2786,11 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) | |||
2785 | 2786 | ||
2786 | if (LLFloaterMap::getInstance()) | 2787 | if (LLFloaterMap::getInstance()) |
2787 | { | 2788 | { |
2788 | LLFloaterMap::getInstance()->getRadar()->addToTypingList(from_id); | 2789 | PanelRadarEntry* entry = LLFloaterMap::getInstance()->getRadar()->getEntry(from_id); |
2790 | if (entry) | ||
2791 | { | ||
2792 | entry->setStatus(RADAR_STATUS_TYPING); | ||
2793 | } | ||
2789 | } | 2794 | } |
2790 | 2795 | ||
2791 | return; | 2796 | return; |
@@ -2802,7 +2807,11 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) | |||
2802 | 2807 | ||
2803 | if (LLFloaterMap::getInstance()) | 2808 | if (LLFloaterMap::getInstance()) |
2804 | { | 2809 | { |
2805 | LLFloaterMap::getInstance()->getRadar()->removeFromTypingList(from_id); | 2810 | PanelRadarEntry* entry = LLFloaterMap::getInstance()->getRadar()->getEntry(from_id); |
2811 | if (entry) | ||
2812 | { | ||
2813 | entry->setStatus(RADAR_STATUS_NONE); | ||
2814 | } | ||
2806 | } | 2815 | } |
2807 | 2816 | ||
2808 | return; | 2817 | return; |