From 4721c0d9bd2eb6d5c3b6370fff8cf99d217ffe40 Mon Sep 17 00:00:00 2001 From: Hazim Gazov Date: Wed, 9 Jun 2010 21:41:34 +0000 Subject: [PATCH] add a deque specifically for use with llmessagelogfilter apply to defeat iterator invalidation, replace crlf with lf --- indra/newview/llao.cpp | 438 +++++++++--------- indra/newview/llao.h | 64 +-- indra/newview/llfloaterexportregion.cpp | 4 + indra/newview/llfloatermessagelog.cpp | 11 +- indra/newview/llfloatermessagelog.h | 183 ++++---- .../skins/default/xui/en-us/floater_ao.xml | 146 +++--- 6 files changed, 429 insertions(+), 417 deletions(-) diff --git a/indra/newview/llao.cpp b/indra/newview/llao.cpp index 90d9b6d69..3de678d30 100644 --- a/indra/newview/llao.cpp +++ b/indra/newview/llao.cpp @@ -1,219 +1,219 @@ -// - -#include "llviewerprecompiledheaders.h" -#include "llao.h" -#include "llviewercontrol.h" -#include "lluictrlfactory.h" -#include "llfilepicker.h" -#include "llsdserialize.h" - -std::map LLAO::mOverrides; -LLFloaterAO* LLFloaterAO::sInstance; - -//static -void LLAO::refresh() -{ - mOverrides.clear(); - LLSD settings = gSavedPerAccountSettings.getLLSD("AO.Settings"); - LLSD overrides = settings["overrides"]; - LLSD::map_iterator sd_it = overrides.beginMap(); - LLSD::map_iterator sd_end = overrides.endMap(); - for( ; sd_it != sd_end; sd_it++) - { - // don't allow override to be used as a trigger - if(mOverrides.find(sd_it->second.asUUID()) == mOverrides.end()) - { - // ignore if override is null key... - if(sd_it->second.asUUID().notNull()) - { - mOverrides[LLUUID(sd_it->first)] = sd_it->second.asUUID(); - } - } - } -} - -//static -void LLFloaterAO::show() -{ - if(sInstance) - sInstance->open(); - else - (new LLFloaterAO())->open(); -} - -LLFloaterAO::LLFloaterAO() -: LLFloater() -{ - sInstance = this; - LLUICtrlFactory::getInstance()->buildFloater(this, "floater_ao.xml"); -} - -LLFloaterAO::~LLFloaterAO() -{ - sInstance = NULL; -} - -BOOL LLFloaterAO::postBuild(void) -{ - childSetAction("btn_save", onClickSave, this); - childSetAction("btn_load", onClickLoad, this); - - childSetCommitCallback("line_walking", onCommitAnim, this); - childSetCommitCallback("line_running", onCommitAnim, this); - childSetCommitCallback("line_crouchwalk", onCommitAnim, this); - childSetCommitCallback("line_flying", onCommitAnim, this); - childSetCommitCallback("line_turn_left", onCommitAnim, this); - childSetCommitCallback("line_turn_right", onCommitAnim, this); - childSetCommitCallback("line_jumping", onCommitAnim, this); - childSetCommitCallback("line_fly_up", onCommitAnim, this); - childSetCommitCallback("line_crouching", onCommitAnim, this); - childSetCommitCallback("line_fly_down", onCommitAnim, this); - childSetCommitCallback("line_stand1", onCommitAnim, this); - childSetCommitCallback("line_stand2", onCommitAnim, this); - childSetCommitCallback("line_stand3", onCommitAnim, this); - childSetCommitCallback("line_hover", onCommitAnim, this); - childSetCommitCallback("line_sitting", onCommitAnim, this); - childSetCommitCallback("line_prejump", onCommitAnim, this); - childSetCommitCallback("line_falling", onCommitAnim, this); - childSetCommitCallback("line_stride", onCommitAnim, this); - childSetCommitCallback("line_soft_landing", onCommitAnim, this); - childSetCommitCallback("line_medium_landing", onCommitAnim, this); - childSetCommitCallback("line_hard_landing", onCommitAnim, this); - childSetCommitCallback("line_flying_slow", onCommitAnim, this); - childSetCommitCallback("line_sitting_on_ground", onCommitAnim, this); - refresh(); - return TRUE; -} - -std::string LLFloaterAO::idstr(LLUUID id) -{ - if(id.notNull()) return id.asString(); - else return ""; -} - -void LLFloaterAO::refresh() -{ - LLSD settings = gSavedPerAccountSettings.getLLSD("AO.Settings"); - LLSD overrides = settings["overrides"]; - childSetText("line_walking", idstr(overrides["6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"])); - childSetText("line_running", idstr(overrides["05ddbff8-aaa9-92a1-2b74-8fe77a29b445"])); - childSetText("line_crouchwalk", idstr(overrides["47f5f6fb-22e5-ae44-f871-73aaaf4a6022"])); - childSetText("line_flying", idstr(overrides["aec4610c-757f-bc4e-c092-c6e9caf18daf"])); - childSetText("line_turn_left", idstr(overrides["56e0ba0d-4a9f-7f27-6117-32f2ebbf6135"])); - childSetText("line_turn_right", idstr(overrides["2d6daa51-3192-6794-8e2e-a15f8338ec30"])); - childSetText("line_jumping", idstr(overrides["2305bd75-1ca9-b03b-1faa-b176b8a8c49e"])); - childSetText("line_fly_up", idstr(overrides["62c5de58-cb33-5743-3d07-9e4cd4352864"])); - childSetText("line_crouching", idstr(overrides["201f3fdf-cb1f-dbec-201f-7333e328ae7c"])); - childSetText("line_fly_down", idstr(overrides["20f063ea-8306-2562-0b07-5c853b37b31e"])); - childSetText("line_stand1", idstr(overrides["2408fe9e-df1d-1d7d-f4ff-1384fa7b350f"])); - childSetText("line_stand2", idstr(overrides["15468e00-3400-bb66-cecc-646d7c14458e"])); - childSetText("line_stand3", idstr(overrides["370f3a20-6ca6-9971-848c-9a01bc42ae3c"])); - childSetText("line_hover", idstr(overrides["4ae8016b-31b9-03bb-c401-b1ea941db41d"])); - childSetText("line_sitting", idstr(overrides["1a5fe8ac-a804-8a5d-7cbd-56bd83184568"])); - childSetText("line_prejump", idstr(overrides["7a4e87fe-de39-6fcb-6223-024b00893244"])); - childSetText("line_falling", idstr(overrides["666307d9-a860-572d-6fd4-c3ab8865c094"])); - childSetText("line_stride", idstr(overrides["1cb562b0-ba21-2202-efb3-30f82cdf9595"])); - childSetText("line_soft_landing", idstr(overrides["7a17b059-12b2-41b1-570a-186368b6aa6f"])); - childSetText("line_medium_landing", idstr(overrides["f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57"])); - childSetText("line_hard_landing", idstr(overrides["3da1d753-028a-5446-24f3-9c9b856d9422"])); - childSetText("line_flying_slow", idstr(overrides["2b5a38b2-5e00-3a97-a495-4c826bc443e6"])); - childSetText("line_sitting_on_ground", idstr(overrides["1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e"])); -} - -// static -void LLFloaterAO::onCommitAnim(LLUICtrl* ctrl, void* user_data) -{ - LLFloaterAO* floater = (LLFloaterAO*)user_data; - - LLSD overrides; - LLUUID id; - id = LLUUID(floater->childGetValue("line_walking").asString()); - if(id.notNull()) overrides["6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"] = id; - id = LLUUID(floater->childGetValue("line_running").asString()); - if(id.notNull()) overrides["05ddbff8-aaa9-92a1-2b74-8fe77a29b445"] = id; - id = LLUUID(floater->childGetValue("line_crouchwalk").asString()); - if(id.notNull()) overrides["47f5f6fb-22e5-ae44-f871-73aaaf4a6022"] = id; - id = LLUUID(floater->childGetValue("line_flying").asString()); - if(id.notNull()) overrides["aec4610c-757f-bc4e-c092-c6e9caf18daf"] = id; - id = LLUUID(floater->childGetValue("line_turn_left").asString()); - if(id.notNull()) overrides["56e0ba0d-4a9f-7f27-6117-32f2ebbf6135"] = id; - id = LLUUID(floater->childGetValue("line_turn_right").asString()); - if(id.notNull()) overrides["2d6daa51-3192-6794-8e2e-a15f8338ec30"] = id; - id = LLUUID(floater->childGetValue("line_jumping").asString()); - if(id.notNull()) overrides["2305bd75-1ca9-b03b-1faa-b176b8a8c49e"] = id; - id = LLUUID(floater->childGetValue("line_fly_up").asString()); - if(id.notNull()) overrides["62c5de58-cb33-5743-3d07-9e4cd4352864"] = id; - id = LLUUID(floater->childGetValue("line_crouching").asString()); - if(id.notNull()) overrides["201f3fdf-cb1f-dbec-201f-7333e328ae7c"] = id; - id = LLUUID(floater->childGetValue("line_fly_down").asString()); - if(id.notNull()) overrides["20f063ea-8306-2562-0b07-5c853b37b31e"] = id; - id = LLUUID(floater->childGetValue("line_stand1").asString()); - if(id.notNull()) overrides["2408fe9e-df1d-1d7d-f4ff-1384fa7b350f"] = id; - id = LLUUID(floater->childGetValue("line_stand2").asString()); - if(id.notNull()) overrides["15468e00-3400-bb66-cecc-646d7c14458e"] = id; - id = LLUUID(floater->childGetValue("line_stand3").asString()); - if(id.notNull()) overrides["370f3a20-6ca6-9971-848c-9a01bc42ae3c"] = id; - id = LLUUID(floater->childGetValue("line_hover").asString()); - if(id.notNull()) overrides["4ae8016b-31b9-03bb-c401-b1ea941db41d"] = id; - id = LLUUID(floater->childGetValue("line_sitting").asString()); - if(id.notNull()) overrides["1a5fe8ac-a804-8a5d-7cbd-56bd83184568"] = id; - id = LLUUID(floater->childGetValue("line_prejump").asString()); - if(id.notNull()) overrides["7a4e87fe-de39-6fcb-6223-024b00893244"] = id; - id = LLUUID(floater->childGetValue("line_falling").asString()); - if(id.notNull()) overrides["666307d9-a860-572d-6fd4-c3ab8865c094"] = id; - id = LLUUID(floater->childGetValue("line_stride").asString()); - if(id.notNull()) overrides["1cb562b0-ba21-2202-efb3-30f82cdf9595"] = id; - id = LLUUID(floater->childGetValue("line_soft_landing").asString()); - if(id.notNull()) overrides["7a17b059-12b2-41b1-570a-186368b6aa6f"] = id; - id = LLUUID(floater->childGetValue("line_medium_landing").asString()); - if(id.notNull()) overrides["f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57"] = id; - id = LLUUID(floater->childGetValue("line_hard_landing").asString()); - if(id.notNull()) overrides["3da1d753-028a-5446-24f3-9c9b856d9422"] = id; - id = LLUUID(floater->childGetValue("line_flying_slow").asString()); - if(id.notNull()) overrides["2b5a38b2-5e00-3a97-a495-4c826bc443e6"] = id; - id = LLUUID(floater->childGetValue("line_sitting_on_ground").asString()); - if(id.notNull()) overrides["1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e"] = id; - LLSD settings; - settings["version"] = 1; - settings["overrides"] = overrides; - gSavedPerAccountSettings.setLLSD("AO.Settings", settings); - LLAO::refresh(); - floater->refresh(); -} - -//static -void LLFloaterAO::onClickSave(void* user_data) -{ - LLFilePicker& file_picker = LLFilePicker::instance(); - if(file_picker.getSaveFile( LLFilePicker::FFSAVE_AO, LLDir::getScrubbedFileName("untitled.ao"))) - { - std::string file_name = file_picker.getFirstFile(); - llofstream export_file(file_name); - LLSDSerialize::toPrettyXML(gSavedPerAccountSettings.getLLSD("AO.Settings"), export_file); - export_file.close(); - } -} - -//static -void LLFloaterAO::onClickLoad(void* user_data) -{ - LLFloaterAO* floater = (LLFloaterAO*)user_data; - - LLFilePicker& file_picker = LLFilePicker::instance(); - if(file_picker.getOpenFile(LLFilePicker::FFLOAD_AO)) - { - std::string file_name = file_picker.getFirstFile(); - llifstream xml_file(file_name); - if(!xml_file.is_open()) return; - LLSD data; - if(LLSDSerialize::fromXML(data, xml_file) >= 1) - { - gSavedPerAccountSettings.setLLSD("AO.Settings", data); - LLAO::refresh(); - floater->refresh(); - } - xml_file.close(); - } -} - -// +// + +#include "llviewerprecompiledheaders.h" +#include "llao.h" +#include "llviewercontrol.h" +#include "lluictrlfactory.h" +#include "llfilepicker.h" +#include "llsdserialize.h" + +std::map LLAO::mOverrides; +LLFloaterAO* LLFloaterAO::sInstance; + +//static +void LLAO::refresh() +{ + mOverrides.clear(); + LLSD settings = gSavedPerAccountSettings.getLLSD("AO.Settings"); + LLSD overrides = settings["overrides"]; + LLSD::map_iterator sd_it = overrides.beginMap(); + LLSD::map_iterator sd_end = overrides.endMap(); + for( ; sd_it != sd_end; sd_it++) + { + // don't allow override to be used as a trigger + if(mOverrides.find(sd_it->second.asUUID()) == mOverrides.end()) + { + // ignore if override is null key... + if(sd_it->second.asUUID().notNull()) + { + mOverrides[LLUUID(sd_it->first)] = sd_it->second.asUUID(); + } + } + } +} + +//static +void LLFloaterAO::show() +{ + if(sInstance) + sInstance->open(); + else + (new LLFloaterAO())->open(); +} + +LLFloaterAO::LLFloaterAO() +: LLFloater() +{ + sInstance = this; + LLUICtrlFactory::getInstance()->buildFloater(this, "floater_ao.xml"); +} + +LLFloaterAO::~LLFloaterAO() +{ + sInstance = NULL; +} + +BOOL LLFloaterAO::postBuild(void) +{ + childSetAction("btn_save", onClickSave, this); + childSetAction("btn_load", onClickLoad, this); + + childSetCommitCallback("line_walking", onCommitAnim, this); + childSetCommitCallback("line_running", onCommitAnim, this); + childSetCommitCallback("line_crouchwalk", onCommitAnim, this); + childSetCommitCallback("line_flying", onCommitAnim, this); + childSetCommitCallback("line_turn_left", onCommitAnim, this); + childSetCommitCallback("line_turn_right", onCommitAnim, this); + childSetCommitCallback("line_jumping", onCommitAnim, this); + childSetCommitCallback("line_fly_up", onCommitAnim, this); + childSetCommitCallback("line_crouching", onCommitAnim, this); + childSetCommitCallback("line_fly_down", onCommitAnim, this); + childSetCommitCallback("line_stand1", onCommitAnim, this); + childSetCommitCallback("line_stand2", onCommitAnim, this); + childSetCommitCallback("line_stand3", onCommitAnim, this); + childSetCommitCallback("line_hover", onCommitAnim, this); + childSetCommitCallback("line_sitting", onCommitAnim, this); + childSetCommitCallback("line_prejump", onCommitAnim, this); + childSetCommitCallback("line_falling", onCommitAnim, this); + childSetCommitCallback("line_stride", onCommitAnim, this); + childSetCommitCallback("line_soft_landing", onCommitAnim, this); + childSetCommitCallback("line_medium_landing", onCommitAnim, this); + childSetCommitCallback("line_hard_landing", onCommitAnim, this); + childSetCommitCallback("line_flying_slow", onCommitAnim, this); + childSetCommitCallback("line_sitting_on_ground", onCommitAnim, this); + refresh(); + return TRUE; +} + +std::string LLFloaterAO::idstr(LLUUID id) +{ + if(id.notNull()) return id.asString(); + else return ""; +} + +void LLFloaterAO::refresh() +{ + LLSD settings = gSavedPerAccountSettings.getLLSD("AO.Settings"); + LLSD overrides = settings["overrides"]; + childSetText("line_walking", idstr(overrides["6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"])); + childSetText("line_running", idstr(overrides["05ddbff8-aaa9-92a1-2b74-8fe77a29b445"])); + childSetText("line_crouchwalk", idstr(overrides["47f5f6fb-22e5-ae44-f871-73aaaf4a6022"])); + childSetText("line_flying", idstr(overrides["aec4610c-757f-bc4e-c092-c6e9caf18daf"])); + childSetText("line_turn_left", idstr(overrides["56e0ba0d-4a9f-7f27-6117-32f2ebbf6135"])); + childSetText("line_turn_right", idstr(overrides["2d6daa51-3192-6794-8e2e-a15f8338ec30"])); + childSetText("line_jumping", idstr(overrides["2305bd75-1ca9-b03b-1faa-b176b8a8c49e"])); + childSetText("line_fly_up", idstr(overrides["62c5de58-cb33-5743-3d07-9e4cd4352864"])); + childSetText("line_crouching", idstr(overrides["201f3fdf-cb1f-dbec-201f-7333e328ae7c"])); + childSetText("line_fly_down", idstr(overrides["20f063ea-8306-2562-0b07-5c853b37b31e"])); + childSetText("line_stand1", idstr(overrides["2408fe9e-df1d-1d7d-f4ff-1384fa7b350f"])); + childSetText("line_stand2", idstr(overrides["15468e00-3400-bb66-cecc-646d7c14458e"])); + childSetText("line_stand3", idstr(overrides["370f3a20-6ca6-9971-848c-9a01bc42ae3c"])); + childSetText("line_hover", idstr(overrides["4ae8016b-31b9-03bb-c401-b1ea941db41d"])); + childSetText("line_sitting", idstr(overrides["1a5fe8ac-a804-8a5d-7cbd-56bd83184568"])); + childSetText("line_prejump", idstr(overrides["7a4e87fe-de39-6fcb-6223-024b00893244"])); + childSetText("line_falling", idstr(overrides["666307d9-a860-572d-6fd4-c3ab8865c094"])); + childSetText("line_stride", idstr(overrides["1cb562b0-ba21-2202-efb3-30f82cdf9595"])); + childSetText("line_soft_landing", idstr(overrides["7a17b059-12b2-41b1-570a-186368b6aa6f"])); + childSetText("line_medium_landing", idstr(overrides["f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57"])); + childSetText("line_hard_landing", idstr(overrides["3da1d753-028a-5446-24f3-9c9b856d9422"])); + childSetText("line_flying_slow", idstr(overrides["2b5a38b2-5e00-3a97-a495-4c826bc443e6"])); + childSetText("line_sitting_on_ground", idstr(overrides["1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e"])); +} + +// static +void LLFloaterAO::onCommitAnim(LLUICtrl* ctrl, void* user_data) +{ + LLFloaterAO* floater = (LLFloaterAO*)user_data; + + LLSD overrides; + LLUUID id; + id = LLUUID(floater->childGetValue("line_walking").asString()); + if(id.notNull()) overrides["6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"] = id; + id = LLUUID(floater->childGetValue("line_running").asString()); + if(id.notNull()) overrides["05ddbff8-aaa9-92a1-2b74-8fe77a29b445"] = id; + id = LLUUID(floater->childGetValue("line_crouchwalk").asString()); + if(id.notNull()) overrides["47f5f6fb-22e5-ae44-f871-73aaaf4a6022"] = id; + id = LLUUID(floater->childGetValue("line_flying").asString()); + if(id.notNull()) overrides["aec4610c-757f-bc4e-c092-c6e9caf18daf"] = id; + id = LLUUID(floater->childGetValue("line_turn_left").asString()); + if(id.notNull()) overrides["56e0ba0d-4a9f-7f27-6117-32f2ebbf6135"] = id; + id = LLUUID(floater->childGetValue("line_turn_right").asString()); + if(id.notNull()) overrides["2d6daa51-3192-6794-8e2e-a15f8338ec30"] = id; + id = LLUUID(floater->childGetValue("line_jumping").asString()); + if(id.notNull()) overrides["2305bd75-1ca9-b03b-1faa-b176b8a8c49e"] = id; + id = LLUUID(floater->childGetValue("line_fly_up").asString()); + if(id.notNull()) overrides["62c5de58-cb33-5743-3d07-9e4cd4352864"] = id; + id = LLUUID(floater->childGetValue("line_crouching").asString()); + if(id.notNull()) overrides["201f3fdf-cb1f-dbec-201f-7333e328ae7c"] = id; + id = LLUUID(floater->childGetValue("line_fly_down").asString()); + if(id.notNull()) overrides["20f063ea-8306-2562-0b07-5c853b37b31e"] = id; + id = LLUUID(floater->childGetValue("line_stand1").asString()); + if(id.notNull()) overrides["2408fe9e-df1d-1d7d-f4ff-1384fa7b350f"] = id; + id = LLUUID(floater->childGetValue("line_stand2").asString()); + if(id.notNull()) overrides["15468e00-3400-bb66-cecc-646d7c14458e"] = id; + id = LLUUID(floater->childGetValue("line_stand3").asString()); + if(id.notNull()) overrides["370f3a20-6ca6-9971-848c-9a01bc42ae3c"] = id; + id = LLUUID(floater->childGetValue("line_hover").asString()); + if(id.notNull()) overrides["4ae8016b-31b9-03bb-c401-b1ea941db41d"] = id; + id = LLUUID(floater->childGetValue("line_sitting").asString()); + if(id.notNull()) overrides["1a5fe8ac-a804-8a5d-7cbd-56bd83184568"] = id; + id = LLUUID(floater->childGetValue("line_prejump").asString()); + if(id.notNull()) overrides["7a4e87fe-de39-6fcb-6223-024b00893244"] = id; + id = LLUUID(floater->childGetValue("line_falling").asString()); + if(id.notNull()) overrides["666307d9-a860-572d-6fd4-c3ab8865c094"] = id; + id = LLUUID(floater->childGetValue("line_stride").asString()); + if(id.notNull()) overrides["1cb562b0-ba21-2202-efb3-30f82cdf9595"] = id; + id = LLUUID(floater->childGetValue("line_soft_landing").asString()); + if(id.notNull()) overrides["7a17b059-12b2-41b1-570a-186368b6aa6f"] = id; + id = LLUUID(floater->childGetValue("line_medium_landing").asString()); + if(id.notNull()) overrides["f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57"] = id; + id = LLUUID(floater->childGetValue("line_hard_landing").asString()); + if(id.notNull()) overrides["3da1d753-028a-5446-24f3-9c9b856d9422"] = id; + id = LLUUID(floater->childGetValue("line_flying_slow").asString()); + if(id.notNull()) overrides["2b5a38b2-5e00-3a97-a495-4c826bc443e6"] = id; + id = LLUUID(floater->childGetValue("line_sitting_on_ground").asString()); + if(id.notNull()) overrides["1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e"] = id; + LLSD settings; + settings["version"] = 1; + settings["overrides"] = overrides; + gSavedPerAccountSettings.setLLSD("AO.Settings", settings); + LLAO::refresh(); + floater->refresh(); +} + +//static +void LLFloaterAO::onClickSave(void* user_data) +{ + LLFilePicker& file_picker = LLFilePicker::instance(); + if(file_picker.getSaveFile( LLFilePicker::FFSAVE_AO, LLDir::getScrubbedFileName("untitled.ao"))) + { + std::string file_name = file_picker.getFirstFile(); + llofstream export_file(file_name); + LLSDSerialize::toPrettyXML(gSavedPerAccountSettings.getLLSD("AO.Settings"), export_file); + export_file.close(); + } +} + +//static +void LLFloaterAO::onClickLoad(void* user_data) +{ + LLFloaterAO* floater = (LLFloaterAO*)user_data; + + LLFilePicker& file_picker = LLFilePicker::instance(); + if(file_picker.getOpenFile(LLFilePicker::FFLOAD_AO)) + { + std::string file_name = file_picker.getFirstFile(); + llifstream xml_file(file_name); + if(!xml_file.is_open()) return; + LLSD data; + if(LLSDSerialize::fromXML(data, xml_file) >= 1) + { + gSavedPerAccountSettings.setLLSD("AO.Settings", data); + LLAO::refresh(); + floater->refresh(); + } + xml_file.close(); + } +} + +// diff --git a/indra/newview/llao.h b/indra/newview/llao.h index ea6db87a5..ccf4d9f8a 100644 --- a/indra/newview/llao.h +++ b/indra/newview/llao.h @@ -1,32 +1,32 @@ -// -#ifndef LL_LLAO_H -#define LL_LLAO_H - -#include "llfloater.h" - -class LLAO -{ -public: - static std::map mOverrides; - - static void refresh(); -}; - -class LLFloaterAO : public LLFloater -{ -public: - static LLFloaterAO* sInstance; - static void show(); - LLFloaterAO(); - BOOL postBuild(void); - void refresh(); - static void onCommitAnim(LLUICtrl* ctrl, void* user_data); - static void onClickSave(void* user_data); - static void onClickLoad(void* user_data); -private: - virtual ~LLFloaterAO(); - std::string idstr(LLUUID id); // silly utility -}; - -#endif -// +// +#ifndef LL_LLAO_H +#define LL_LLAO_H + +#include "llfloater.h" + +class LLAO +{ +public: + static std::map mOverrides; + + static void refresh(); +}; + +class LLFloaterAO : public LLFloater +{ +public: + static LLFloaterAO* sInstance; + static void show(); + LLFloaterAO(); + BOOL postBuild(void); + void refresh(); + static void onCommitAnim(LLUICtrl* ctrl, void* user_data); + static void onClickSave(void* user_data); + static void onClickLoad(void* user_data); +private: + virtual ~LLFloaterAO(); + std::string idstr(LLUUID id); // silly utility +}; + +#endif +// diff --git a/indra/newview/llfloaterexportregion.cpp b/indra/newview/llfloaterexportregion.cpp index a7620f5b4..07e758a4b 100644 --- a/indra/newview/llfloaterexportregion.cpp +++ b/indra/newview/llfloaterexportregion.cpp @@ -23,6 +23,10 @@ LLFloaterExportRegion::LLFloaterExportRegion(const LLSD& unused) { sInstance = this; LLUICtrlFactory::getInstance()->buildFloater(this, "floater_export.xml"); + + //populate the list of objects to export + //int numOfObjects = gObjectList.getNumObjects(); + } diff --git a/indra/newview/llfloatermessagelog.cpp b/indra/newview/llfloatermessagelog.cpp index 1918914d5..098a35c43 100644 --- a/indra/newview/llfloatermessagelog.cpp +++ b/indra/newview/llfloatermessagelog.cpp @@ -412,7 +412,9 @@ LLMessageLogFilterApply::LLMessageLogFilterApply() mFinished(FALSE), mProgress(0) { - mIter = LLFloaterMessageLog::sMessageLogEntries.begin(); + //make extra sure we don't invalidate any iterators and reserve a deque exclusively for our use + mFilterTempMessages = new std::deque (LLFloaterMessageLog::sMessageLogEntries); + mIter = mFilterTempMessages->begin(); } void LLMessageLogFilterApply::cancel() { @@ -420,7 +422,7 @@ void LLMessageLogFilterApply::cancel() } BOOL LLMessageLogFilterApply::tick() { - std::deque::iterator end = LLFloaterMessageLog::sMessageLogEntries.end(); + std::deque::iterator end = mFilterTempMessages->end(); if(mIter == end || !LLFloaterMessageLog::sInstance) { mFinished = TRUE; @@ -445,6 +447,9 @@ BOOL LLMessageLogFilterApply::tick() LLFloaterMessageLog::sInstance->stopApplyingFilter(); } } + + delete mFilterTempMessages; + return TRUE; } @@ -686,7 +691,9 @@ void LLFloaterMessageLog::onLog(LLMessageLogEntry entry) { sMessageLogEntries.push_back(entry); if(!sBusyApplyingFilter) + { conditionalLog(LLFloaterMessageLogItem(entry)); + } } // static void LLFloaterMessageLog::conditionalLog(LLFloaterMessageLogItem item) diff --git a/indra/newview/llfloatermessagelog.h b/indra/newview/llfloatermessagelog.h index b13c7fbb7..d90ea38fd 100644 --- a/indra/newview/llfloatermessagelog.h +++ b/indra/newview/llfloatermessagelog.h @@ -1,91 +1,92 @@ -// -#include "llfloater.h" -#include "llmessagelog.h" -#include "lltemplatemessagereader.h" -class LLNetListItem -{ -public: - LLNetListItem(LLUUID id); - LLUUID mID; - BOOL mAutoName; - std::string mName; - std::string mPreviousRegionName; - LLCircuitData* mCircuitData; -}; -class LLFloaterMessageLogItem : public LLMessageLogEntry -{ -public: - LLFloaterMessageLogItem(LLMessageLogEntry entry); - ~LLFloaterMessageLogItem(); - LLUUID mID; - U32 mSequenceID; - std::string mName; - std::string mSummary; - U32 mFlags; - std::string getFull(BOOL show_header = TRUE); - BOOL isOutgoing(); -private: - static LLTemplateMessageReader* sTemplateMessageReader; - static std::string getString(LLTemplateMessageReader* readerp, const char* block_name, S32 block_num, const char* var_name, e_message_variable_type var_type, BOOL &returned_hex, BOOL summary_mode = FALSE); -}; -class LLMessageLogFilter -{ -public: - LLMessageLogFilter(); - ~LLMessageLogFilter(); - BOOL set(std::string filter); - std::list mPositiveNames; - std::list mNegativeNames; -}; -class LLMessageLogFilterApply : public LLEventTimer -{ -public: - LLMessageLogFilterApply(); - void cancel(); - BOOL tick(); - S32 mProgress; - BOOL mFinished; -private: - std::deque::iterator mIter; -}; -class LLFloaterMessageLog : public LLFloater, public LLEventTimer -{ -public: - LLFloaterMessageLog(); - ~LLFloaterMessageLog(); - static void show(); - BOOL postBuild(); - BOOL tick(); - LLNetListItem* findNetListItem(LLHost host); - LLNetListItem* findNetListItem(LLUUID id); - void refreshNetList(); - void refreshNetInfo(BOOL force); - enum ENetInfoMode { NI_NET, NI_LOG }; - void setNetInfoMode(ENetInfoMode mode); - static void onLog(LLMessageLogEntry entry); - static void conditionalLog(LLFloaterMessageLogItem item); - static void onCommitNetList(LLUICtrl* ctrl, void* user_data); - static void onCommitMessageLog(LLUICtrl* ctrl, void* user_data); - static void onCommitFilter(LLUICtrl* ctrl, void* user_data); - static BOOL onClickCloseCircuit(void* user_data); - static void onConfirmCloseCircuit(S32 option, LLSD payload); - static void onConfirmRemoveRegion(S32 option, LLSD payload); - static void onClickFilterApply(void* user_data); - void startApplyingFilter(std::string filter, BOOL force); - void stopApplyingFilter(); - void updateFilterStatus(); - static BOOL sBusyApplyingFilter; - LLMessageLogFilterApply* mMessageLogFilterApply; - static void onClickClearLog(void* user_data); - static LLFloaterMessageLog* sInstance; - static std::list sNetListItems; - static std::deque sMessageLogEntries; - static std::vector sFloaterMessageLogItems; - static LLMessageLogFilter sMessageLogFilter; - static std::string sMessageLogFilterString; - ENetInfoMode mNetInfoMode; - static void onClickFilterChoice(void* user_data); - static void onClickFilterMenu(void* user_data); - static void onClickSendToMessageBuilder(void* user_data); -}; -// +// +#include "llfloater.h" +#include "llmessagelog.h" +#include "lltemplatemessagereader.h" +class LLNetListItem +{ +public: + LLNetListItem(LLUUID id); + LLUUID mID; + BOOL mAutoName; + std::string mName; + std::string mPreviousRegionName; + LLCircuitData* mCircuitData; +}; +class LLFloaterMessageLogItem : public LLMessageLogEntry +{ +public: + LLFloaterMessageLogItem(LLMessageLogEntry entry); + ~LLFloaterMessageLogItem(); + LLUUID mID; + U32 mSequenceID; + std::string mName; + std::string mSummary; + U32 mFlags; + std::string getFull(BOOL show_header = TRUE); + BOOL isOutgoing(); +private: + static LLTemplateMessageReader* sTemplateMessageReader; + static std::string getString(LLTemplateMessageReader* readerp, const char* block_name, S32 block_num, const char* var_name, e_message_variable_type var_type, BOOL &returned_hex, BOOL summary_mode = FALSE); +}; +class LLMessageLogFilter +{ +public: + LLMessageLogFilter(); + ~LLMessageLogFilter(); + BOOL set(std::string filter); + std::list mPositiveNames; + std::list mNegativeNames; +}; +class LLMessageLogFilterApply : public LLEventTimer +{ +public: + LLMessageLogFilterApply(); + void cancel(); + BOOL tick(); + S32 mProgress; + BOOL mFinished; +private: + std::deque *mFilterTempMessages; + std::deque::iterator mIter; +}; +class LLFloaterMessageLog : public LLFloater, public LLEventTimer +{ +public: + LLFloaterMessageLog(); + ~LLFloaterMessageLog(); + static void show(); + BOOL postBuild(); + BOOL tick(); + LLNetListItem* findNetListItem(LLHost host); + LLNetListItem* findNetListItem(LLUUID id); + void refreshNetList(); + void refreshNetInfo(BOOL force); + enum ENetInfoMode { NI_NET, NI_LOG }; + void setNetInfoMode(ENetInfoMode mode); + static void onLog(LLMessageLogEntry entry); + static void conditionalLog(LLFloaterMessageLogItem item); + static void onCommitNetList(LLUICtrl* ctrl, void* user_data); + static void onCommitMessageLog(LLUICtrl* ctrl, void* user_data); + static void onCommitFilter(LLUICtrl* ctrl, void* user_data); + static BOOL onClickCloseCircuit(void* user_data); + static void onConfirmCloseCircuit(S32 option, LLSD payload); + static void onConfirmRemoveRegion(S32 option, LLSD payload); + static void onClickFilterApply(void* user_data); + void startApplyingFilter(std::string filter, BOOL force); + void stopApplyingFilter(); + void updateFilterStatus(); + static BOOL sBusyApplyingFilter; + LLMessageLogFilterApply* mMessageLogFilterApply; + static void onClickClearLog(void* user_data); + static LLFloaterMessageLog* sInstance; + static std::list sNetListItems; + static std::deque sMessageLogEntries; + static std::vector sFloaterMessageLogItems; + static LLMessageLogFilter sMessageLogFilter; + static std::string sMessageLogFilterString; + ENetInfoMode mNetInfoMode; + static void onClickFilterChoice(void* user_data); + static void onClickFilterMenu(void* user_data); + static void onClickSendToMessageBuilder(void* user_data); +}; +// diff --git a/indra/newview/skins/default/xui/en-us/floater_ao.xml b/indra/newview/skins/default/xui/en-us/floater_ao.xml index 0ecd55eb8..22c09667a 100755 --- a/indra/newview/skins/default/xui/en-us/floater_ao.xml +++ b/indra/newview/skins/default/xui/en-us/floater_ao.xml @@ -1,122 +1,122 @@ - - -