From 85f3345c35ffb28d89f2b537cdc221ffb4d51ebc Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 15 Jul 2021 18:22:52 +0300 Subject: [PATCH 01/91] SL-15574 Fixed message mising some text --- indra/newview/skins/default/xui/en/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f604a16b0b..e76f2bd6ba 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -153,7 +153,8 @@ People with free accounts will not be able to access Second Life during this tim If you feel this is an error, please contact support@secondlife.com. Your account is not accessible until -[TIME] Pacific Time. +[TIME] Pacific Time. +If you feel this is an error, please contact support@secondlife.com. We are unable to complete your request at this time. Please contact Second Life support for assistance at http://support.secondlife.com. Data inconsistency found during login. From eacd9a30bb971b9f84222c67dc54af111cb7918a Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 16 Jul 2021 18:08:08 +0300 Subject: [PATCH 02/91] SL-15574 If login response provides ISO8601 time, convert to local --- indra/newview/llstartup.cpp | 36 ++++++++++++++++--- .../newview/skins/default/xui/en/strings.xml | 7 ++-- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index c5d5be3509..3cbcdce042 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1075,11 +1075,37 @@ bool idle_startup() std::string message_id = response["message_id"]; std::string message; // actual string to show the user - if(!message_id.empty() && LLTrans::findString(message, message_id, response["message_args"])) - { - // message will be filled in with the template and arguments - } - else if(!message_response.empty()) + bool localized_by_id = false; + if(!message_id.empty()) + { + LLSD message_args = response["message_args"]; + if (message_args.has("TIME") + && (message_id == "LoginFailedAcountSuspended" + || message_id == "LoginFailedAccountMaintenance")) + { + LLDate date; + std::string time_string; + if (date.fromString(message_args["TIME"].asString())) + { + LLSD args; + args["datetime"] = (S32)date.secondsSinceEpoch(); + LLTrans::findString(time_string, "LocalTime", args); + } + else + { + time_string = message_args["TIME"].asString() + " " + LLTrans::getString("PacificTime"); + } + + message_args["TIME"] = time_string; + } + // message will be filled in with the template and arguments + if (LLTrans::findString(message, message_id, message_args)) + { + localized_by_id = true; + } + } + + if(!localized_by_id && !message_response.empty()) { // *HACK: "no_inventory_host" sent as the message itself. // Remove this clause when server is sending message_id as well. diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index e76f2bd6ba..e98c53ccc2 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -70,6 +70,7 @@ Voice Server Version: [VOICE_VERSION] Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) [month, datetime, slt] [day, datetime, slt] [year, datetime, slt] [hour, datetime, slt]:[min, datetime, slt]:[second,datetime,slt] + [month, datetime, local] [day, datetime, local] [year, datetime, local] [hour, datetime, local]:[min, datetime, local]:[second,datetime, local] Error fetching server release notes URL. Build Configuration @@ -152,8 +153,10 @@ People with free accounts will not be able to access Second Life during this tim Second Life cannot be accessed from this computer. If you feel this is an error, please contact support@secondlife.com. + + Pacific Time Your account is not accessible until -[TIME] Pacific Time. +[TIME]. If you feel this is an error, please contact support@secondlife.com. We are unable to complete your request at this time. Please contact Second Life support for assistance at http://support.secondlife.com. @@ -161,7 +164,7 @@ Please contact Second Life support for assistance at http://support.secondlife.c Please contact support@secondlife.com. Your account is undergoing minor maintenance. Your account is not accessible until -[TIME] Pacific Time. +[TIME]. If you feel this is an error, please contact support@secondlife.com. Request for logout responded with a fault from simulator. The system is logging you out right now. From 8a14d895826e6f9465da2ae3d7a007401b430041 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 19 Jul 2021 21:54:49 +0300 Subject: [PATCH 03/91] SL-15592 Emergency login failure dialog Server message by id "LoginFailure" was pulling in header instead of a message --- indra/newview/llstartup.cpp | 2 +- indra/newview/skins/default/xui/da/strings.xml | 2 +- indra/newview/skins/default/xui/de/strings.xml | 2 +- indra/newview/skins/default/xui/en/strings.xml | 4 +++- indra/newview/skins/default/xui/es/strings.xml | 2 +- indra/newview/skins/default/xui/fr/strings.xml | 2 +- indra/newview/skins/default/xui/it/strings.xml | 2 +- indra/newview/skins/default/xui/ja/strings.xml | 2 +- indra/newview/skins/default/xui/pl/strings.xml | 2 +- indra/newview/skins/default/xui/pt/strings.xml | 2 +- indra/newview/skins/default/xui/ru/strings.xml | 2 +- indra/newview/skins/default/xui/tr/strings.xml | 2 +- indra/newview/skins/default/xui/zh/strings.xml | 2 +- 13 files changed, 15 insertions(+), 13 deletions(-) diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 3cbcdce042..5ae1d09007 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1062,7 +1062,7 @@ bool idle_startup() { // Generic failure message std::ostringstream emsg; - emsg << LLTrans::getString("LoginFailed") << "\n"; + emsg << LLTrans::getString("LoginFailedHeader") << "\n"; if(LLLoginInstance::getInstance()->authFailure()) { LL_INFOS("LLStartup") << "Login failed, LLLoginInstance::getResponse(): " diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml index ec6ba4800d..3eed8146ae 100644 --- a/indra/newview/skins/default/xui/da/strings.xml +++ b/indra/newview/skins/default/xui/da/strings.xml @@ -109,7 +109,7 @@ Netværksfejl: Kunne ikke etablere forbindelse, check venligst din netværksforbindelse. - + Login fejlede. diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index 43327c132d..c17a5a0f30 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -190,7 +190,7 @@ Voice-Server-Version: [VOICE_VERSION] Netzwerkfehler: Verbindung konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Netzwerkverbindung. - + Anmeldung fehlgeschlagen diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index e98c53ccc2..9781b33f66 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -113,7 +113,7 @@ Voice Server Version: [VOICE_VERSION] Failed to allocate openssl memory for certificate. Network error: Could not establish connection, please check your network connection. - Login failed. + Login failed. Quit http://join.secondlife.com/?sourceid=[sourceid] @@ -127,6 +127,8 @@ http://secondlife.com/download For more information, see our FAQ below: http://secondlife.com/viewer-access-faq + Grid emergency login failure. +If you feel this is an error, please contact support@secondlife.com. Optional viewer update available: [VERSION] Required viewer update: [VERSION] This agent is already logged in. diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index f5e7d0bf4e..65e3ec8b0f 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -182,7 +182,7 @@ Versión del servidor de voz: [VOICE_VERSION] Error de red: no se ha podido conectar; por favor, revisa tu conexión a internet. - + Error en el inicio de sesión. diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index f26eac545a..7279ee95c3 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -191,7 +191,7 @@ Voice Server Version: [VOICE_VERSION] Erreur réseau : impossible d'établir la connexion. Veuillez vérifier votre connexion réseau. - + Échec de la connexion. diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index f0466cea81..ead9b53450 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -187,7 +187,7 @@ Versione server voce: [VOICE_VERSION] Errore di rete: Non è stato possibile stabilire un collegamento, controlla la tua connessione. - + Accesso non riuscito. diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 52d6fb0c2b..813c9d5aa9 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -190,7 +190,7 @@ VFS(キャッシュ)作成時間: [VFS_TIME] ネットワークエラー:接続を確立できませんでした。お使いのネットワーク接続をご確認ください。 - + ログインに失敗しました。 diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index 91fea234d2..9efe8c3a81 100644 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml @@ -146,7 +146,7 @@ Wersja serwera głosu (Voice Server): [VOICE_VERSION] Błąd sieci: Brak połączenia z siecią, sprawdź status swojego połączenia internetowego. - + Logowanie nie powiodło się. diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index ee982b5b22..be1c4a5a22 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -182,7 +182,7 @@ Versão do servidor de voz: [VOICE_VERSION] Erro de rede: Falha de conexão: verifique sua conexão à internet. - + Falha do login. diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml index e9592a0476..6b1dae19a9 100644 --- a/indra/newview/skins/default/xui/ru/strings.xml +++ b/indra/newview/skins/default/xui/ru/strings.xml @@ -191,7 +191,7 @@ SLURL: <nolink>[SLURL]</nolink> Ошибка сети: не удалось установить соединение. Проверьте подключение к сети. - + Ошибка входа. diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml index 56fad978f5..44954dee50 100644 --- a/indra/newview/skins/default/xui/tr/strings.xml +++ b/indra/newview/skins/default/xui/tr/strings.xml @@ -191,7 +191,7 @@ Ses Sunucusu Sürümü: [VOICE_VERSION] Ağ hatası: Bağlantı kurulamadı, lütfen ağ bağlantınızı kontrol edin. - + Oturum açılamadı. diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml index e6c61a5d94..136a2ceae1 100644 --- a/indra/newview/skins/default/xui/zh/strings.xml +++ b/indra/newview/skins/default/xui/zh/strings.xml @@ -191,7 +191,7 @@ LibVLC版本:[LIBVLC_VERSION]N] 網路錯誤:無法建立連線,請檢查網路連線是否正常。 - + 登入失敗。 From 03e0640212e69a6794d034a049fd6bdb042dd157 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 20 Jul 2021 16:58:25 +0300 Subject: [PATCH 04/91] =?UTF-8?q?SL-15571=20update=20=E2=80=98Reset?= =?UTF-8?q?=E2=80=99=20button=20in=20the=20=E2=80=98Covenant=E2=80=99=20ta?= =?UTF-8?q?b=20correctly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- indra/newview/llfloaterregioninfo.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index ec1909d02a..52e1c81884 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -2085,6 +2085,8 @@ bool LLPanelEstateCovenant::refreshFromRegion(LLViewerRegion* region) LLTextBox* region_landtype = getChild("region_landtype_text"); region_landtype->setText(region->getLocalizedSimProductName()); + + getChild("reset_covenant")->setEnabled(gAgent.isGodlike() || (region && region->canManageEstate())); // let the parent class handle the general data collection. bool rv = LLPanelRegionInfo::refreshFromRegion(region); From dc1a194507f18167fa10ab239d63f008a5ab323c Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 29 Jul 2021 19:08:10 +0300 Subject: [PATCH 05/91] SL-15714 Update image on first time login screen --- .../skins/default/textures/textures.xml | 3 +-- .../textures/windows/first_login_image.jpg | Bin 0 -> 104529 bytes .../windows/first_login_image_left.png | Bin 271413 -> 0 bytes .../windows/first_login_image_right.png | Bin 366068 -> 0 bytes .../skins/default/xui/en/panel_login_first.xml | 15 ++++----------- 5 files changed, 5 insertions(+), 13 deletions(-) create mode 100644 indra/newview/skins/default/textures/windows/first_login_image.jpg delete mode 100644 indra/newview/skins/default/textures/windows/first_login_image_left.png delete mode 100644 indra/newview/skins/default/textures/windows/first_login_image_right.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 03878d9fe7..6104e99a4b 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -611,8 +611,7 @@ with the same filename but different name - - + diff --git a/indra/newview/skins/default/textures/windows/first_login_image.jpg b/indra/newview/skins/default/textures/windows/first_login_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30f31341edc886fa2c0b23f6b4cb442495fcff17 GIT binary patch literal 104529 zcma%iWl$Z#*6kb)&cP+PL-644?(XjHE+N6)4#C~s-ICxC-0k2R2oNAx0wj-nzpC%O zpRcQ?s%v*u&+eM()qAhK`rq2WJ%CWg-@z6D6cm^MWZ?g{f9C+Uw2zfj0008uU(Lb* z@b419kg#^Mv;nO9UoD`2FdzazgolSmfJa0?Ktw@&ebA5*5s}d#sHkYDs1Pj3e;XDA z0}~4q1A>c-hlh(xNf)-2C;5QFwT5`>MhS6T7mPm0E>|M8LS<&$z zdxcB$zWJm*xM1ylQ`#EQrW5(<5*!HppIMPX@L&M^>J~N}n2G~O0$#(ygEN#G7vTz8 z+&nP9C#lJWM{{k7kN7%kYRSUC4FCcLy)Foh4Tu4AY{|#mj@-Qjpp5LuS!&P5ceVmE zA*_GfC8rc+4^}hTz)_Z2;+T=*dBva*+0)ujr^`@=?G2nRakBL^cnx*Bq$KUg6?D}i zL>+RZA#@d0}KC_Qi^`AD@eL&!#u=~DI%UP(Pm!VlUZOT9Bdd#Y% zT(3vQg}xD}_;QZF>AUu}ot=cy_M5UJNLWUeeuR>&CA^#cKnCwg_1z!&Glff3ZSoJP z!MB4I2hD=-UdUDP2hT(!SVMFbjQT*;ZM;bBQ6N!qd!Z^RfyL#v#UK33C zCeg=9L7}!D>Wt~ByIZu4;ax5|5Yd6u&FsLlZTFU%TKwb6n4ZhhP}g^ZMjA27Bk>A@ zWa0zoFDo|5n;~p*^YV--R>=aFzUdbYQ(x`^swDunJd+M8SBcB-CvEC0hok%U12){Z zsg4}_+htn>qC1z05gnh4@(vR`^=@vQz4xal<+_uUHEPz{V8$^sU0(2iGA~aOr-sxw zhdc-wr4GiE9fq)?&D5H%$;tJBKst~dr1gF;H$AVdy_+OXVVzw&RAK4Jj2 zy*&aV2y?Jzvg%oiCIm@300;mVfH;_m;Pc`Nkbqz%Y+~UfhYcDBqjP$dA0fi|j)56T)uj`J0{SO_jtOxTYZtz(5j{a1$S^xOic4mdP zC?VMVbHkC7PY!Q8kLaf?LQ2|H7xQ!ssEKxI0bE{mClF=kmadO|Ry6+MT_>)yPsjI~ zt@%TRIV{gt2S__Fa$s5|p9h0J73C{X`0sw0^5UNF@x+SLrt?V@*Wwud@C-sA z|1;~Cb9^zqF;cVd!t_S}u`2^l;Gm{f+6(56zeI9t5txuLtzN8OJvmy651-2GbnV~* zHXcr7Eg$hw9R8{hidmjk&x9$gBqia}`kA*@h_>0uV(v#@;Gd+a6oo9PQuMUb)gCwZ zs0&|yfnIA;P(jOIpNK*KVo%G!tgSqIL3TjT;qw|T?Be3mTBqlePEMQRb!k=?E6C-o zs`;-$heYy%VKbg#*!!Dl8xLe=Pa-m_u1+zGXngo2e( zD=|}w0tJL-=BG;b@)HK6*e9vJyU^%LdkruIMs!?WUmE#Pu*dV$%Th$fJS$bEvmc?U zM~JCwC;#G2DoEj3NEeH^8mNqs*MxobbtD#${J`@`(0^{Pznj`wWUOV2vF`qIX@O^6 zp~Cz`8EcFo*rwCFP6-!jc5azwER*1bL>B_@DS}lyl?Y}jx?%DN`l`v3EZ%V8<2TOBiO%ylgLNh2aN1a^(z@i)ACOLUvgDCnBPz#_>fM}WE> zZH#(xPYkCeOeD)?-RBM7AMBIvjk=TG_&WnCBZAXSlkudE>v4ddi=CJUkkuCu19_Oz z#!oLCIEMLU`bOz>XtCT6gr-r4=zkY26?e*HAr=jf>iJafSAWdEpb4Ey0@KDwF~VzO zX|Hlb-b7Em?yB5(AD<^hNgp4t_LN10C0%xdyc*J&NCzX9@gQvpBO-m*#gu3(vDJ%{ zW>uVtj)b0~5aFwkaQtRlmSe?9-P<@Efz&VBgTOWn#RZdE_6I?Gobz(FgC;5l9;qxb zkmt@cDEaNTvk3f28T462m7LHVqX)CB6^EaUyBMj!m@x#=1@wclq!cWNPoK_%_p6_J z%(b7<6~bVmhN}vO*mYX{_FbxnM4X;ntqObj3BA)YCTWg8v<@XCZWik$%@B0dc^aB; zHQ|3|9NQ2dP#JuJ?+Bx?g-fUBY3#_hWYH0a`51Y9z!xuW{U`?C zjQY!S6Km81?Ip|TOW$pBFWj1%r|ojaomW0eEJN@KnMtP>NihZJ1}%fydTMs-_*N)hb1cr3HQ}Y zF&-uQSgpJ|*w?fOr|mqXN8R`PXbgg6!GfShPOeP|FW5r7N~Ma|4@b00|8|lE5F&!t zcIU3{r)R)%WR@8JRRP!q#*L=U7JyJ808KhOXjDVF30Rbp|HX4P2|=`$LsFj{TMx0q zFuo>snrLra-wQ!pkID%*vzUj;^NBC3PNN|**%R}WOyH<-2KY)esGwaroE~a$0UZd zT*3C>W%HJJL;Xzl$xIf|Xm*bpSg}!g+C5u2xgG|fFK>5@G6s{tBkeQm@CZvma2PCv zSdUlCxu&j%umy_aJfsx078s4egiZt$D9ftAF;eJYJANmb^UBbGP5hGDQ1)!fY?6T6 z#y`MeUiDxY_l@#Kamt?~gzch)&5VP>Bw}3i-p5jFhDM!3l*XMX%Ha0)W>5o$Zfac_ zk+f2A(x--YJ)$fA3~nATm=i7@ma%+>Uk|M&bzwF9?|Sd~utr#z9MB!)R`iYZTwTt0 zrIWZMgLB{?P^NwSb${1gzQ~dc8ZU)AN$SacW2E|n9Yimo4e%3nb^;P?LoSzD2gyfl zw$U}TEAiAl(W*>}TyScwDE*AYDyu!L8w@K)?a28D2A16OX8QH~zs(~AtgasHykU&* z7IJtZoCIUwcpr`9_S`X~2XMXiW2mJ!2;fvb&`Vz`P#@04_ zs_t47CQ%KUhJcta<9@T42K@d{(dj-6!~=L10~;Mb?nhARYPFLVi7NGg+dOjn;(U9UO ztHbb&Vdzh)9f#5A1Y6aqYZ-P>WX6^hX&=(F+>bth@%hJMo5^dXIC4IHmu1eqdK-IM z?-zDTcZjtmY_CIW4H?kaNO=RXm$nU$=u{FH9S-&S6IJspiU+@t|@B zD&{pE7ym-n?||8Pk+yvfBMimf;J}eBibH^Ww_fOr>T9|UmNfh>#Juj)a13MHi}j;h z?9w-ro^|2EpR>NjnmF&~mF7jz@FH9ba%48BFSs#6?{6<0-%%cnlIe82X;c7-Er{^p zAF>NJ=}NtPZW(Fia$&Z;aHaF@_}Z~Zs|FG*#hI^3E%$yeFlXs(VhH{?VY0e#`u=5S z>UmbJw(9oB(%JK}!wW^`^Owx)moCppNQd#X{CrR7dTpt~qdote$0P}so?Dd?J~X6W z0-m#@L0ATn7I{odacTj}A=@0~?L;3t;5f=Ka5k=_JW*U>Q+mimqQadhs&D?Lm-v7v zx)e_TxD12lZytd71xdabpGGO;?Gp2oJBWN_*#_+!qpJ2S$N5b^LdkSsx-Sr?A&w7_ zn_I*Sok$vnKte;m_Ee!9QSHqC8!(pa$^dp{^8mz>GzyM!j@o zgZGm9ozg{2mvAP@zr?vj%5*8@tk9b<)`8U@w&7shZQ(;9L89pJE<*xkL_fWm!WMs% zo`y~A15y(e`=7?O@SLv{5S}IZc}ei=~g=V!umLn6FlcQU*-IV4v=P zzI@mVova9pjvn?{hWQBmx@F1yX7YJL8x{1B;F7s9b^VlrP8{WN>@}9>3k~uI2h#^! zRSIhFU(BV^bj@R=@cWcjat-fk6DAI#uCgU7`^7wwfGaTpN8n`igVXxsy#s7bQ-5oPbIEaXzW+MBD3J|H5s* zi_Ylg2(BD+Tb4;Y9Sz-3tqO8_6a{B+n(v_c7C^HTbdY5FXcyWKo&zlc*t0-1&4FT2 z6X<~4CQ`z!6^N#uOr{V91Qbsm%&{^Xw4YQ7AuTyj!$)&C;p==_NOcq^c}0a~`|f|T zuS&{3VPWhHP zu)X3RP~LJ)?ZxDJ^&0W+c+NEi1ajIZkbYb69PAiU#(VkPOX6Q1^#@gu2Dwbmgh%7F zW;IGcOOO)xW1F8KRUP|8AJZqywSLP88Q3@2{g3Vk!YPb}76B?+G)#HaoG3}2rh`ax zsZ6rzwsAI^o+ws50tbX4Lb%pxat}pC&Xh0u(EQHJ4?DdX+FgCTNJSep9wwZ|-ZHtV6}~@!Jl6lXTnE zi9l{#jJ#59)!*T2EP!}n8#v1%hx>=I^vcKv3Kr4Dv?X0BEkXqf9%*4meVOM}N?q%4 zrz4JUVnRwj7lQ!;_hJ%h1io2Su1N>X#<>{@@sAa)vnihzYDJ?G9Xc3$>`k)gyJnTJ zB~fczkLqk%eN^{;IE;<-h8zk~xX?8UpLU*(zOINQVmcoRbBi!Uyw0DZj~&EXe))5# z_L<7HYM6!{ZzJEM9zIL@?&$Qcz$s5Ucw&w;01;0IHp4GWiPjcMZuLPqTE`v!6G`+a zWtzcLgciZ?I9}8!mn&CAVk6(Nyfc3rUma)WD&C-PrjUF_Sx2GMi~9ZK!^$0=7>66} z$G{(inMp&(VHsQN8+vI3u+MqJfARC>C>Xu>P0T_SCx;6$rjkQ2mjQGvzv2M<*tE}-N_OI>thKYd+TRKxUU?qr=Cssp15`1~IB-)(Gc4@OE)_vWV-s)EW1y_r${I6n1)S~pI_f|<` zGKzdlTZ1!`t(^jF^!nLza;_1Hn(_v!5u_U-`%Np(k?A7_kq>eo-Gt70S6D7=I$hTsIJzS|o zV~Vqvv2t<{8bZ}jElsqx@apDmHojCnd|BQHgKS8=+XL9o5Lu8E=BrVD2P?J;&xWAbgswQ zQ9AXT+UNnxUkZqq{uXiv#c_U=Oks283raOZ{NC=ZaUE zB!sJ?D3Ifj!Hhm&CrEcYfq)`_gg22@)}M;iQTn&zeIL+IH9?_Zd^$`a%#q4aBO?6x z+Z?L`tS)8?kjMNWO8#>N#?$_FlmQ|~2rYia?utrG{}B+e`uJX^;30bvvgX7sO(KTr ztT32nQW22|Jf7qa9H$zVggO+ihsYVj&!)Qr&p3!4#xHq)H`!?=obBAwSBq^0eJ~{Y zk^qvvi^Q2VTpZR33Vd?ETNBZH zap;v~g!Y0jjcTwZ2h(WD1wIY$#Xv1A@MrDX=VWZ0GC7%(N;u^MmGvoN-1&XY7(Okb zp(jlT;kRtEHg)wyDG~T8?9%Ihzy}Mu|DCd`4n&t}HZt+1!y26QbGFEluhi4Y0jCg; zNZE{C47q}+z6puB^(7ng&eVIjEG5uK>!iMm-=$ev`VV&@9yGJy55FkBU?ekV6r(E* zOBe?XQ5^fraN>w%OQvFuT((@(+WujO<> z>m;}1bgh0leFPHv>CHhD0?nD7yWvlx&tV1|XhK0G5;()il-b6gWdJ<5aN+|)qOCLJ z_DJumkrI?(9&i-ltoI0e$X=`}z;CYgn#@hN6zBsA?c{{;RCTNH@aXMf{t(L0Y~D2( zbvwDg1su-E9#7;p?g0_Q$Mp)VFx}nZSJdXyqBar-yrcChAN7@v(PD>_OM3oO$8o+3d|$;`$xUl}Z&*N*XPYi75}ce-W}N zI$CDA|J-AN!7hLROYsDo2KavpK|Ci?{>}uze=KJQIkh6BU@^sQbdn#$Z^n#TjPmYEU9n{DRaVy3Oh@;ro>kDAD9mYC z6vqpu7S^0Ql`W_hZ})xXR1D;+&3vT;_RFS=J0u-@%$A(0lPvQbCbB#kh%7<&<7|2Q z#N^sT*c~ruKg9|kn_pB#K0hQ zTtV@PW9DRm7j!rLZJLUxJ%psXknsLv`Y$fdyjP`tZhQO z>VcFgoOUbK8Bx2sie@NgP=-@=OrkTRTsw}PoJMRtYP+n+rO)clfr&xJ;i3W!4#AZ- zUv)1;vn@7OH1O&VO1(U+eR*cJYoiX#Xl+4V5U5*9Y}s2k@TSJOX*K5L`<*G)f_ikd5^0In~13<70U_d4mU7qVtl<+md8siMqD zV87P~y^sVzL3AQzHQT_vh-qbssD37g2f>VjJ zeoX}h>_HBg{$d8RgASweWX-+;7;sqHtnQ%WRQ9qQR4<}kEZzstC_Fn~G-BHsPdq|% zty$j>wE;IPK)j2g=|N~9#n917R6DM1e5*lWnk2s`-Vk8+-e_~Ir7lI1Hf2i^WgKB@ zp)wI=*k-N9)fSeJdj@AZ9YYhwZ}G55`h7*Q;-q&+wtI-h+>=@3!4k@{79>Ibt~~C7 zC_}CZA?@fay;jSV*hdfVrB2C!9EjPX%N4T;<&tE^pjDN}#IkJje(&NCbyTtU4v%Dk zLu($QMW74YKH3JkaW@C@P*X_U=C$qmTIopf-E$PD*{71!M#zb`3hL}0mn}h}YsXOZ zDR1dE95CXez%#?}uc6r1HP9s5;T)dacBOX`!hT?Tp4Z#rL})0_AE} z1s*yzhjH?lw zzAB!9B+{I(&I9h5RU+~zz}x}qs#eXz-2A1GRvTZgYr#XS!FC7}xxSwMKY%#$<5#j< z;l4QK!mpxGUkGQbi{*i{CnxrVP5c&VPxYm<%uP?u!Nm`oT`RKbjWvp2 z%MqhtA&3twlyEMndMiA9oOTZhc)|F-l%U(2?FOf|6V>rXW4a&QLv>Aa+24WGb-!h{ z!sb~MlKyo4KlwVw<~Z?sifvEGO(m&Q?uP6;55%_6G;1#kTYl^n$Qt9XmK*oiKtm|5 zBq*eFS|Y)> z-3Lppr_0S;QaP|UDmttIdQRUZh*pi(bwOY~?N2$?JPL3i(tjkncZl3)U$M~}! z(xz>haCqE)JrwFC$J2oPhTBhl0DOq~b)C0%BYW4hl2L2!A7KCTXe@Omj&smvm%MDp zo-RHi5X}0wY4UQ=hpC(PjmYQaTFtXJF<0=(uZ0DyNgM+lIihA!E3vQ0=1x!jrHae3 zkJ=t$>*3~1L4}47wWJr?I)c;`$lUwyRjFEv9vm(h(WKS55*eHGJ9)`kcnIFhN>QEc z#RC*Us!#)$E50%%&jo@jtWl%Cix3;=cN0DazX$t<<&Tr}A?|OdtZ*jOJk`Lmy9iYf zPFmsu(yIkr+us{7VKvxkN6TO1j9OPc7?v3iJ(^grg*BCQ5mn^pgC+$3M ztd)sD)$Qu?~oJ6M7{_|O|I${*ccf{x4(fK*Fft*s> ziA#Qv&TbrGNhNqqo%3_AAE^;Hy5m!;N|$^hsqgn4WRJmk6Usu|xO&=5>p0bocDh5F*af@vyj69STIC^S2(Xz%p2H2C4^t7Y3V33S=#NLkcbmdX(31doO(w>}A??doz zil3Z}*;zVb#pK~l905xImG&X*>3$GT0aRS6*3-YI8eJqFK-=h9vRyGxK=rJujs?E>6#oXKuRyyx-?MUc- zaIG7C`$o_@1#f@iTZIJ4hd0bpiD^9a6x@R!v+FOmo?1d3N*_Y*v{5A1nIBvVSV;Rd_(e!Ga#6&om*MlyO>SbYl7+Be#`wg~ zMf3hp!>8Z-_W7n2*@mCJmojhPwN?b*KXqNY{ID=jbm^G7Lue?&_j;48DxCHEK=tI^ zL}u(rG^xSs|9FMazTWr`(A;q+JThG@t;TZ{Y6i0}Q|{GAE?ry(<@{zRbg~fnM)I-L zr`x<;FkNjusR3r|b@H903$M+$5r-f03W`(LK`|Wa;&()LN#G`mrqegS)OFJ;Gf9PR zaYQ~B1!YCEm7H84AxOk+)?_sQ(iDF}VDCvA<1Ksi}^E^Fd_QKBdes#&t8NghSq~&Uxt$U3&o>JwT4MYvBiTf7dO~q zZKT|&X0>I*zBoE|scWZgAFdt1K%v%LfztVsa2?hOr(;oEE#ZpY3|B@g0ex^CrsopU z^?921k(_v=?Q1im>FvC=iV3m1!CB3Cv(@fyd`3|_cAYZSk!>weUgb(YfH?_A6{<}F z=Ph?}+K!9Ki5qRAup4KpcV$VOaFy4nXPkYlG5rtTQ#<&KU($44VSGz{Jc>mp@hUj8 z4fn{)deLRL_uxcqNYTy<=Vi4`PmWGUPsW*Csw_?feD{8T&C(*FurIFx6MEOhk01KV zTF$wtWJ*h2ShSUj;i>kvI^^eSi!IFg@jhO(y0My5^(8!KK;5LxEuAg1r5#5M&&hTl6?B!bN*B}@sa z600_So(|gGN@H!KT=QuA)PcLJn3LJe4&z4C{|Elc5FeNL0Va?sKe}Ieo z@1os-RSIR%VxwmxA(el?<;}>ubBpL{w0MLq-%dZnk0Z{R^Ps8zbFsDM=x^}s&L#VZ z%)+>ma@Z`Iav*l+MKm7NuF z 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
!15CtJ3ITbO=q&vOj4P|6poqy+F$xp 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

=OeMHAi&?)f7VN}L6j6gaBbn_wne~Nl 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�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�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

sUHRi{zF3Mu_o`Qs0 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%0Da}!sU+;YG$j-B@BQN79NP9ny zfKJ!%8`LqtU!JxPa(z6#i3e~lz<(1)nNWmVFXc>~GH!xw~Ti| zGgY58s7IZSq`=bDQ7GX{;vLn)b9C6~oA=kJ*B2kUz}P9q;9UG$)`I(OgH2=Pss5%o zENB}&d-p)YG1}HGEPMlJB$)@IuuL_4IYtfg_e*!7=}Y8-a@1xw^-Oj(zmvXr-mYNj zE4`74&9i-ZrvxdwX{YcaOr=;KKAH_E!pZlC^fmp5H+%K*L;DRn)?jl=IWnx~e%%jr z8t0=AV?{@p_6oi!Yjz}(eeY$M(lcFSTPgUQ`pZjsawZ)hNWYlcYkyB2$o2x7<=@Ym#Iv+@%IdagdM5chI!J!^49N257Dl%T@s{>4@9-gXM~!crJMgM&MbX{G469RmV3OkZm~QbuL*&;Rk?s{v_6XlZwm*(N$X8{oMG zDe$bIL8x*QmU>pXTRgG{`GZ|9QFKqAJU=~o{-k*bqw6g*2ZVL!RRBq&RAc2ZH^Bsf z0`CYW@xHh5>}jn2!$&n77ay+Txy3prF=p!s>W0y`K)fmMBP&KPTbdELe#2=zje zKf2>cXC!vp@uY*9$2|A9kUm{}JR>=pF9P{7!(<~Vpo7;VHN;MxhNnYs^ht)V4^KZl zeVC3kBQ^Pdd2`X7GxfNVo>Eahp6GPy;iaJ2i8J2Um+!j8t&sq;=sk1HIvM)gS(2vh zp13`#WS-P{@&IY%Ns+zgvG6^4q~3QlI-Qr6+Vb&>fXK7?_Y5RX0i}a)yrh1|UOmdF zTNperjY9q{;G?oPPWGF0DZAyQ-XGq*ZQ{TE)64F1dh{rCm|IUg+Q!SxHEm|gtKt83 zl)b5;%NRA!HTF8m0m|L7m)AACN7#f%J>^*+&|ao$AIHNsvi-zs4vX+W4XacMVB(D6 zl{q*W3oy#AM(j}fH+7wsX!(7ADV-fYb-$r4N!79U2aSV!m7V@JihXcRzT3K(9&S)+ zwhqD|gXKFTXYL%3gps+)ix(>k+Yif+7z^9s?XZgEG%YWhG9(*&)X3}x9XdPOPI+|0 z)`9%@KImQBj{@)Cy*~ZvpZsw8TR*)@+@vRa%L}Gq>PK#Gr!}|Ee!a))@ZN||KjL(B zsy@MVz{uzs&w8uBOdA#NI_s$^eK5|_7;R^HIn}~U$T_sW!R2brb)9Bkg6+s7a!!r_ zqhM-k%S6@GGLZ5ZcpzT*dHwumP%u2+t9E*5q#Ot0&R_iFf8#rYQR8uBRLCF=^N8pf zLiabI!lAH3+pxf5;Jkn`b8dh6SAUE#dQ`6@ES~fSuBikr|5^dBVwiG93EB!N4IESy z!>~hMIEC*HjEH+HIBN^>pblg4TlyKQ3UBV$c&sNxnA?e1!wjR*fN|2Fdz^_GAvyyB zLkNb0!5fG|QO~TRfTR_VOqaQ4Nl&Sm+H{k){=mun3R~BE{sZu_j zo<6nimXX{quWKw`{O~MS^U2|J(5}+~w1@oYc2xN8teeB-#?S$2mZo!hz%8vy!*oP6 zQE1OYrxAyDHP|8>O~!bQ<3VO9$L@fP@gn0q&M7lxg|?P)@TKLqeG?uz>v2DV4*A_S zZ@MFo_`x^%_a3Z#HNDo@GLpCbEb;Qg`}XbIzQ+aX6eWV+q26TN2t*$Pbp|t%;XLq$ z8HhS|DYher{A*c}7iIXhUm+*;DxGwPPi6;CF(win=Rkh8d~v3)-p6?`a?e z_V^R%p|jwiSDUF%4G0DniO#L$z<8V^^z~YzI7C6N(RwaF@3`}n_cOwX$51bF81ToR z-<{rEd^~;2=s=#SJVJ*!-hDmO2#xZUvyI=d1EP{9k46k`>jI{+LQbt`9K;bEY1ILJ z8W1BeCB{cO&y0>VjXQo8&nRZo8i^dv2L@-#?Q`xX_<-9+$M)h(x|SQ^_k5EkH0#hn zxEvINvYSq4PZGwO0#mnVkMEs+_u|>qQ`lzFQZePZ+U_rLtErMc*rwlh!)1Mo?m|T{1XOue=#!gor}SJQ%2hq{&NpmT|Qk|*kX%qcVZu!Ut{Q))nrsuXy z3emb{6=!4#sGGKAgcyOP@rIs*zka1VS7AG%{P^W#^_w~y5naR~Gd20_$>=9|7DtL{ z*;59|2#v{0&V{Srjx<##LPv>pvdlBTuW%$qAu^-$Hse8V*73KZ@ zgJVb{9JyyeFaZHTIc_o7!Z4zgRl=gkT-%XTu5bT(?jq|HS))WaF_TcrzYVAn=J}Qh z8l-;(2IRSXf7OOGZKWxSr>q#kXk#8$w+0Vw`2m6uv8cziVFV68fw1(Gz^!n@ZPyY7 zusbg(D1u||^rsh3PA{I@wme6Yhg+OeKllBiCp{G&j*Tf!ZCBY&y0>pH z>NHR$cf(UWn>KfrSRO)e4Oj52EZES2UU&25+ zKWLryxAW^pCmc9icIveED>u^g8X2~}pfCA|Q%9cqI-Vs>cWwr-06*mE6jA8(yo$C* z6b0P(8oK3Q-n!ybjh}i3k1*|uuL(G4BA4HKn)QS9ZFF6K`dBCCe&peo$bfVl;r5Zh z%5Tev_Afqdoad!S9(bz@!Vc?^rjTn8<79P;U72a88Pz6l;^a3v=S*4P??^rTyniqB zgf{Uj7Yv-f)v4-~kI~zPc-@EX}=I8JCI|Sc3%qrOsq8tr^>G}XVEG%0@bif#8 zHH&Fcx?y|&()tLOKmF>EIAaCqi)0Ov)N3W~Nz&hM`Fx zVL;Hd@u2Ml51RWyA0z##f4xDxB2{U>Z+DCm4rQD8+mYFko~$11@hnbXY*~@rnMx9H z#2tB+vCm`#t-N(Wfmy4YGH%OS#|VD;fVwJ+Q)C3fFk1(y@+E&EgJP1V{5j}hU~HhU z`C}C*So+$}LqDffx!R^_k`LZ3-xQd-kSk?2KVLiz?mi+t>BwdB*)`V@4EfP%Qx>`^ zwg)i2ty6GQ)J#mn4_UY=BVo@T-Z%L zn=pOIz1|B-@4x$R{j1+KQkkF1d)xbQ1c_pN{_IH=TNj4P3Klx75O1H@#u^j_O33fksNfkTpborS z)n}x-*q8Q96Q#Ta=4QQ0(CxmFi-F;pc7nU|mpG4iqoqu@P5TW$I3zkVM}}OfH{5UD zU!LAwT$NVSEj`h=G@)b4O(}yTSIU26)rep^ohxIKmcMC>?+KR%U&$*4*8UP2_qj$p zMF_WhiXqMa!c6Z@`5cJUy!UWIvoLLT1mMkKSkN?b%b*P|;jY?y`s*Rju89LJvpk1R zdOSaf3UA0%s}`t|Jsx@rwX2NkojP8pFWNcu^3^P)7ebe^$cjboHB?NKY5?Qh+z~~J==r0Hb@Fd(lBFo1NcaiX$|Kz zv9>F)j13rt;qmU`>PBny1 zmDzb>a5JALD2-z+1pRh|p}7nDdA@-|Fu>NY%ue`>XufuRf`BkQMhm8!z^pe|05vKb zfl=l(0Aup4#~#cY6OtdoQ4HU z>rA)YHZD+S9feRZ!j8sxp7ymxH58@fQI2?Lq0i#GqaQ53_r!sWKsgD7%ZG&Nj440L zDD~&4T5yCn^5_+)51ZTX@8sS}LWz2N=wIUO`S63^56Imzv}oGtt;%=+FE}9_At!mfd;9kEA~M@k5(2iyD;w{hJh>A`=HBT=^otkc z&@*4T`xbr}3C4hY4RZpeJ@I7dW+WTh&cR3BzBb(`OfqH4oU_L8+!)&A9BXg}!QDO> z{;CUEg5NBR7d&^nIvVy3Z2TbS?Y~Ex;Dx@V{8i!wy5kHKuN--rG*>?@Iq_$CQx0z* zY&&Wux(htXh)29O)aHP$2C%e!5Bm06YR+g9X0(V0M&e|iJP8MM2YSV$XPl{N6K3WH z_dok5|JHZH(^u}FJ#Ax&z?dq92okSv3`ZCqL^Aui|C;NylWOBJ_)M!~LU_@E!-q8*ax(4AeUEXN|j!T|X10^va6!ISVT<__@oztr*W_4S^UyJWSVyc>U)Y)+eySH5p2vCg&Q;e~(+<<7M_rC9 z&}WQL!?w2fFBw@nG1fPXjPSsE&(ii;d#PMNo%K;NVhYL;GS8pc7&JQ%+vee!y81M& zcXn*yE)P;M4v!a!;e+e9AYAuu7e1%^xPtVCU&R$t);W#9nv6DQMDY4ig!8=2(qJ~> zc)o?fRW*|`{5<>Nxy=Rekx}nP(F+fvBb!sF2ycLVblKkH8@Tgd{j+~3I*9Pz66?~i zWSBP{d7Yzp65BXwF!0UQ*D3LKix~GDZjF?Hqw~O(r;u0x*Y=N~=$~&JY|e#%w zr5}2Ww$H^8zThdE`y8;1ma#W=V{V$lH;rX_l3})cXASt*i~xLur&CpwNv>V1(rL6~ za1B4kBSjl;^Ld1fUvxL=Yfx)Ur+kLCyG~L&({?;KG_HIx9vxLiUL1pMG+Bp*+#PhO zXWKK?H%hP=-W`7oV!VyYUvN-T&hv4$Qb)Yy%it(qG<4~C)OPaqJYFW{R7hMM4!t}z zWW>SpvOEt>$l5lwBXRk^Bi)T-7|_OioCA4YoULPon(TFSo1Z+3L%qQ~pSAtwmtODD zkM7Ju{KlO_^HqD{yY+^7&!TdX;I@f23h#}Er1t_}zpfd@P5Cm;z7fGAFTUg>r|Rt` z#XagMEGfQUetwe?`r|x5hy(H=ZNxdfJp@%hG-~V7I}GrbQH*qeHnHwWcKS=(bQ&`E z;;;p8Dn|*=pYUMT4~*)5etVI=7Fi41R$oYZC-v9n@|s#+c^kQKc;(YNgHFL_r17M@ ziKW}mdCxIOUL^fo2icT4x|i!lX-nI$+M>L_h4S!d=kqq*up3w%d8F5jbc<1gpS9Z? zU3QiZPgj1xIbQci_i7r?9A$<9|36-NvGZFG#jMklC$e>p1Kb$pgx~qk|Ki{LzQ-Bg z?6?W??MRb31ZkB3k2N|Y!tv$gi+4KitmNP6@RJhR3LsWzSpv4uDo%wfD}sp;?lJ#% z*r_a2F`?tk;M_p)b{Ki!QzjgnhCm~OmoqOiK502^^n-bmFr_5FDVIKm9yFk(Opc)Q zgljaK=crps>Vjtk%&`dA1;6hN5JGvC_4Y%QF&-tW&Il;z!ngicj)lIyKE22Y zOw#4!^2%?Y=O*RcTg80KgLyX3JNX}kSAX)uv!1zh^BwAVmfqym{Vu&-9Vfu_AXo)V zi10YoxhYfIKaITDT=D5+Xzi5aiyk%6_dg=(@Z$mDRF4|xO_m@Ve6p|WqQl`$lYV*u3J6Z7f{rmaypp%um zZ9AZ<9T8As$+|qRg6R!5&%HWqTS(_#=hM06Cv-ZZaP;e*r!Ioa9qRDnXv50a!I#BV z9D#YSVen{?ZPWIJ021M}KBFJh6F%}vyY1Ie&Gv|+4$6||bG&}gukl4;7(MH&;usXW zg-lyHa^;5?k4CxLJP5y9=j!y=ukqA5cWlkNY{r0|n zA%@M^d)xiA(+9Omq0C5P z1)|duM?p*QR$^fd4CeEen(hc|+T_P1L)04xgIoEesgUfb;{b6wvWh$T_wnN=Gb##Q za2HaRbPVD-+~Dm~n42b)qck0P_cNhaSGFzAR7mq3(p7p7fzi1d7J9@=SMM#fpxu^2 z#+p}gb@{1lGgZEL$Z*EPgb&>Cr1wJu1rMYs4ac+5ALus1WN}y^kM8>8hqSB3`$z2z zpJOz18p^x)DUt(E=`Frd?7~cC?pab6j$b{G0eSVJQxlb)@TQ$8v{&%LU*#x6C$4OT zT3(>eDUJHtkMBUiDzeDo)YFuU&!mn(o6>~GJ&#YCPAi&I=i!E)8~L^SC9=b)^)sib z^P4wsx}gD&8BilFGbD!a#Oq5sjCDL-Guo8De4df`K>36%DH|=@J`0Uc0;+Fz%>`5G zib4&p;pMa){tAFg zkE5XV^ceEQaVW0hc*%c13fOcd1#9%WxCd`|e;D;y=ecwGpZ@1RoL;}ZJUx8!qW$GD zSxeJ6j>JX|BMj_%clqV?$6r45J)+Wj)ElnuY&+`xCGv~c8GJ@Z%_g7c!DWqipv}mO{NlH4pJ4|3cKzm6b@5=sT>aqLa&ATu z;Zr|h&~M9s?>*?w$RPWaG?ks-;Jh&)|Jh&s!|y!2d#PFXL`#^Ayi>qKg@6KAm_@Hk zo^q}lPowSBf<{hY;=Z0Pj$K%ew;1K^eh6s=4#G^Nx~d$H2ZJrp4x!Rc9=~?Hu(B0O zbkl^U>5##BFx$OzU|8xWPrS1b1z%c%UmpsceZdI5M+XORMjU#t^RyFJkRzl?+|2}` zhv!Ivef)Hl@-4#7{O`~_{91a~g0$W#i=yN4*iy^t-@W%Fo%Q*Z zcN!kf)-iFEF2%#>RtYJqrA#@1@)|xxLEn3L!)GuC9_b0wQNmOA6jKE?buR6&ew!D( zJkM`%fBtyYXWr|}c!k!`@Du;K?J%9uC?R4nikzZI{n0Dm^2*}APx$^21J?yxG*;G9 zx7_ott87ze{6HhcVK`qrNrNW!mUr7vT(6*nfpT^{MO* z?hOYwj{Om@JZ0R{6uRkwL*H&X@GCt3#9@l*02W$(^ko`yDr|azH})kKn-T!{r2?&F z+T~HMcKYyiS$A9TKCYxEzXqzpOFBP7Sb<16%E11+2hlf#MQE|IRy;GDe#NIV zQZ9LR@9Gns$}lou)OJdVAi!rXnCJEEDKF+$fc&ClVhqaXrqad=;3^C--qVuM0i>*g;42DQ?vokaJz5X{C+DK6!eDm z2age2!kmG1&O@D9XY!X~#BYWXpo3=z@J%|#&*bN8#IIPWJFeS<(*9LjmYe+YA&> z@SnHM@*LcTkxLF%>T6vgVfv8i5evu^n!2}4N-}LVd8a9p~bHzn@qpMt5Z$d?BW-?#Mpo+yBv$U#pke)I11 zr$4?p{qE)LRD6V4?f`4rm55(!N7_cL7^MIGP+^FRdJh# zv@VPW)NgOoOSfrOz9{hXcuu)l3sY;e8D#0{zHaEma25~ za4e!f@J!D;PEthQ+j|;Kq7F6 zOQxh4&Uj5l>ej)st0Yznr|c4$GDU$AK@f zvoWRb$n){zb;BOSDFSC~9-5Ee&H^3HR*=^2vS}N1(tFk%AH-=(yQRa5@ve(($|1M5 z{BxwOncn$N|AT+<-Ai4(G4sC^p@JmFjNYdJS5zUKQNc?E0&zOQf{IspCOqophCx8u z#lQJn<&kdFZdlg<(usUDMV{`^O5CPnTzJ2>|JD;N69|*_qsEuxZ1a|{bx2qk z=-7hbNC(ZYYc^>kFJnG>9OD=HwD{%+DiTUeEce-x!$BZ!sOj>;8|X9!>5EbT-$~J&4ZVT2c`wH&>w<~xU*vJPG@aChKMu0A*2p*w&zSdcC=<+O~^mBf+k z&{K@J-%UFoeBbBu_P(K=6BAx`Ge$rfvk9i7oyW(~V^D1MuHoQ>N0`|Pn^Zai`HO$_ zfBep??M@EFB}0*?tYws64MYkPr}6E@H<#~YIQJ7LoWin3;y^#cRFyp+nt>I<1xAR0 zkY+9Xrk_ejO7ov;K${QRi&wsv@aA)}>5w7z@soL@viZVs0w&MftLtv{w0+SV?iTV$ ze;Xs6pGQ%JlSeAw6v{6bAHuA7+hLZ`OATEJ!HbCV4Sm*+>{PLj9IgAgT*3>=gYe?6 zsg+=`XotoRA7jv>TzK^bog&pPNx?hP5qfxF0d*dJ=n%F%j^|y2+IYlA(MMtO#u-iX zz`oP$n;|!l-lGQow@Y{q@3x&O1>hcxAfo%h>2rq6zC35@3X~7pEaj@ZJlaKC^VDda zZ&l!RN(+sPmkjvb?fXUeb10(Rw?;?(mo^|h<27)^r)+$gT{3uxmdz7I|Mbb}YxwZ} z^QY6Rm(TKhTIFG9O|(z)8p#YTfYPRXbdrwtQXG2V^GgdvR_48d7r`B|DbGHb;!HU+ zg)%aVE&~vJ+I7O`yyaZ2h1dy}UegZ}{Srro;o-qEZiba`kc-MgK>6rgegOBQ3D+No&|1JL$5>e=wa zP%Q4H?;JJ`-xr5c-Aii;pGfu9wdmjB>>(j);Yv?E>Ucou9bAOC}Y z{P(`kLggUeYY9oJ^SLp~p#`ME-qtiXO@R^uR*>MocVL;y>Nym6IVArGPlYTv5u;;b zSdCLaBab3D2TeGzaWx(Zd=`ei@V4;7c!TlY2vtfr8i?Rv{Fl?u@5dNulpmix>JAPy zsc?if?UXS_rcq2Cy!Ku}jDT4=)jwx!jgl)GqC}oY8Q=ru;4Nb>TfMbilm~fMm98!D zJWWxASALItRSqxWeJ*dxpQFax5!$%-q70MQo_a>Jrv)Tj5l}PSeb*%8_a5sKB}Vz- z#qwSq=4g=oRE$F~y{2XO-AqlmPadNW2Eq17i+1=`V+vm-Z}Kjb)}-3|J*uH?ldCXv z6*nA&@Cb8X!7q)WwhF}EEk5O~!tg8Z*3XMyMjkp_LjpQg0q^N6=~0^YZYojz@wP7yRzw z6kmD{Sr88v2iPzotNojD%SpLAJ$3F>Y*^vohddj5v0k%7 zW{?@gpFl#yo!Kz@pE(=Ou{mMJ&PIXnTZ<*jU*%>!?rgR>ndWz=wa zaZQ<@=FLo7GZkqnN8XuBA8+nsI=Fdfv+iSTY&}f*%8)j=@lfMXz!b@M`}Y&4>aGL| zerMimNy&pMLv!p$4=;c(a6@idC1=Y+*DSC^vK`IlT@p3yG%BKBur`q|``UaQ!Ms|4KzgYlreVNkxcJN)u?u`THg2fyb=q2Skne*teB zM-T((Y2A>L`fPim-^lc*SMv^qc;#BqHL6tB&v8^P-dp>zoA2nzhXVA;1ar}eNcfj= zp3oIRQ~vp{<>m_Z3f#jv?Rc98G+!th-VYA)+P2HDX>uXc_`H4lJbs@6Sz0_~+ybw2 zo7Qnad(#~>$k+Qb2V@P%4J7WSe;nakkNq_?ah;0EZE@0U;b)`p8=Z#^o6Rxs%+W^H zEjNv#lyfA#$ul|NzLm8tf0VFv+U=IM1q=Ps$9FuYJsFKzuOW*S;or1R+agqbiQd}h z+cLwGBy(?OgRZe@z?#qNH}9kOB9n2R#JAkwIat`dK)CXYH(~Gyt79ISGc{|o3;q~c zzyDx#oP1F`_=Sa>>uy$YoV#O=cOUj`<;%@5U=~rqjlk$sDYOKX@sk$#D{K|wIo@T` zZ5hKH&v46Kr4Vsk5U#Qh?tky@CG*&(yzK41cz;==W3kx2ejQl_?fnntGM0z7?}?zN z^rue1Xre-q`=w!xSQ+m*g0B;xiP3=47D>CV?r@s4fzoHVLr&E|fLu@}A6ou`5~M#a{e<~*WN zKw$ZNQ_i7)QAuN+TC4b z3@$%(33rOK(Xw`|1Sa2}kEGKFeeahB9nQ|a=T9DXBcOSmK;DCH;d;KnL z{M-;EUIZKr$NQ_V@z5EKjM&4|Z(oek(k`jDdTC$t&$dSQNdL5!jT{u8Pw0Aa^5VnC zJkQ7(@6cAhg!bjH=Z2LfE3X5acESBk+5?2)$=*}si(~UD-+jwZE4cUDPgry6d`o_| z8z+CWO&)Z+P90J<$vyIeEo-k}v*<2&Sz3 zZ5eHhD)vT;>}Avk=1jWY=dyE`V66Xd>XSsXKpwiAEq{1Un=gbId8n)RMtpGp_dmUe zSDFz>QnRnhlvbL-i)y2oLtw%K0w9e^w|Yj>^!!qM>X>AC;YI=F$tAKfzy2m2!I0 zZaquPY(p}^F^>A2uxsX}Q?<#5M{o^~k8&a_baWl#{466pO*`%JK7H}>Dvl7A;%Vvt zwjM~tH_IA#{`o)sx4$Fk-TQf4lb{ZaGBZV^F)@(_Dj|omhNwtW$nGCrg2hQsw|l;= z!~kY)m@9(ZuQF1e-7SwF>$Gz|k2i|Z$$&s5jX|F6n~QrJV7INA!=IM{BLHnoFHsFm zrkBVa6G;H-HRP(Q;^m(XIQ7L7w231;eNMws>*$W&EBN%OLlezann(14pvC70_rAq= zJU{*T@<}Xz5cy@~MDVw)@+5SY7YGS~eTh?%rHQBK!$+snFK^$TUcVcmmh^r+35vZt zU~+vNuYzOn_Pz7Ctc`>h_@NTbgGW=(bA^Bc3hdPnFHTSIeC!Kh+DjRe=ukSz@-4>8 zoakj_=k`dF7?TKb`4l?Z#)om*_e{`10YWK!MuVZ_;NkLwg>AjlddL>vborIm;yw6x z5a?=Kwy-z9TqNhW8W7W4pzA=npQ+a7NZin+T>P)#1{hNwrD@N07-5ORA5)-J^5LB} z_wk?U)I*Ek1N_y*iR+OV4Ea$@<71!NhS+xb(^avLPoyxt|eQ?r!4dd0@*}y7q_H9SN8gOyBCu zr@=|?thwIS2^-S>L1U*Ro$PxiX~5zc<2Q6q8A-25MljEeZVgIc+gFZxr)p?xO_H%L zPlJN{KmUt=@ZG}U`|E4y+fj68!x)E#Q3gOE5HIAh1az4%C656aPiz?@P5$PmL8i0L zp6poSP=K^MsTk!B;GzsvQiq~Y%>#E>l^QvF%Ps_rF~4j|AS$!86@L^R8kN8Ft^k5P zGMNW2e0MnPw%=DT9-nMsv&9!oJ@8^iMiV&J8-8GM+ndXVg6MT>@XznBPp>aN<~iXR z1^65-L*P88moGA`r+lCa4!P77=@19@v{{7YI(x@Xt zXCs`Qf?K{RfdbY_@^v~baSS45(fQO;0S-Qxk_bpw!z>M%3~x-!$A+&JgyrCnl6uM-1yejfidB>DKMY!#IZF>mi3^OWFciP2ONQQ88y?+csJ#ezFoO4>Ske(RUeb zcp*Bz^2vv%=mf?C+O~CQk`@kSFRk>jc4tKH1<%q|okC92j`AawQTrC+hSq^w-cQ)Z zxeRSn8KHF&|KcD2Yu{x`F`ceT_7oPcveOY!K1ar83KodYD`1g`CDa*9d=gChgoS9` zNmz;YYthqq?W`$tU(y0gr0!6<4hDP-vEI#4eiZ>)bB_+`CiCEFqZB{EO+3a0hHeT; zqmDPRA0nz(Vc{~~1f^s&XFhsP0iFC)ueqZAOB$I7P%M;U9y>q%w(m+Xevj%!&OYrZ z==|UsIu2UzhL54CJ8RVYD2rG$Iwx7JbrVY^FrF?Rd^CyjtUWHKA*A3 zW9!9WkB2qwwY+fen1)rT_hVEaKJYb3onwpz!)Nq?7hzBFeM(uT%sRsQnDU}P2M8t3 zj|@;OmY(j}@~4dw-i5=|!Re~1iRVU@I*)aPT@T{LGf>{sV3_0&J8yUo zjWUtG`gq+<5TCx{-o4Ww|Mu`)z)k)IfQEtNH*(DW6 zB09nDNo$v;sMcuEcXmE0%MZP-s@8Ht+m4Qxj&qpN|2U_~Ry}H#;OaOwpR=qlYeRiK z*o%MQkP+oU9sHt7NAUSX!uz+r`#wC;CL32;*4Yaq`sKyk>mQ7H@uo7;0)0mO;^07n z(*2+OU;b`tcP!MUv)aR+I#dB7j7M@)XuuVcTZW7<@TnOQAYQoF51v1m!vZnu!^e2V z7?LI&CXaw5wo0T!t^(rWNhRY!+oggQQ!~XKMmL`dgt-Kxl`AJzIGVgl6OIw~Q5-`X zA<_8qF`ddX-2ThI{L9nR=g(p^9-h8@x~|YTMjZXhrX1A6Zmqru7vcFH?>!uALzmuQ zq{!g=7JiyuScPnqr2MJd@HNy;-SdZ%dXO@^6T*5!(n({8JUcGz-kF_c&iXGl)D`k4~;xLZhPv`FQYggKlIYuw-{3g4MrinyE?tOxQ?7qqKsAK zBP`u1OKsv>{A45o$oQH{bI_iblDzEsFf=gCP22V!z7dPQ;cA;=MiI`W@&e%J7@)%8 z984WX1_1--8!hO`9Rr2wpx8mGbBx{FTQ+oXBar{)d0|uYdOj zts!|CtgukhVR0~h*U=KT4BAE;qJ|L(&GQsEqmV|W5$>LT|LpPU>9cto_|3a?@^nC| zeDFna>$ndo%LgGc9%nkC^L5}dyt;h%?)26+%piUK4t zc>FakdBz+9LCv#5hM(T}h41qHhc+^U@hnR7?b}~Y&tAMdIg!-S>OJ`tO`krNS!)O| zl<^^CU*dq{+pU7Y*(jWk@z68=eD(6t>4%p(QQ2DWJ8j=x8Euf%p~|ehvrsz?Ymt;E zei4D{i*5w0>kEw4@ZM+&56kz1=kEP@hOTAyS-5&@tMO>I6V9#-3g1q*pI$vbeUISX zji5Oq;!BLvU%&Zq`uXj3cr$`e`O15sDG#&@&)qJn8M#<+H}cR4brx-+Q)r6FL5e09 zKDN~xuyryxqJYfQ^4eI?JGevN$U zJ9jCl`tbeeotbg)qUVe-$O30>@q;Z#xl`UM^<#9I zFbcmXSVYeBUoZYSDPw3G<0hT{i^f~LDJP`POM2<+=vH=c+fnKMNPJw9M?XrqX{w=P z!s*`>-8OODzJA8R;spDKPy0E2nEb-ft}Zsfc+1?VhqLu5d6hOecbP!Q)ItBOto+&E z|5v{25IfR9Y#A4#YCuBJ!ekt1g4MPpzx+5k^@pH(g?EGw>eEMv*j+&;yNMAR5A8!&v=}rvymAYq-Lw`mK zsco44son!lppz21y1b}i`qMv&(R=))IPr|93xNhTep~{5T)4p|G`& zg~AG8vZdLYesE})DA(iJPgzC{z1}uic`U8zGF{4idKcZbMcT{%QWwwS&%@n+yt+)Y z8v*O&2l0VTw|Uebj3Po+P&dUPI5Vv&6;~9@P{ggF3 zmBd$;V^Djf%b5Wwzs~UQ{a)c!hUcY;F4<>tc21AFE@%Vc(r)_2OLp9o6ULv+Tj%Sj zSewS7GffP%^VGvv|4e(%=-rMh;ZyF>ZoxZo;Zwx><00D&i4n04O2WOdPJb-zH*_9! z^-#+^z_tB*a8CVNk0a0KzpL$X-T2%3hG(gtKIpJpPHR6ioYBUlk$>)Y9ny3BwK_@{ z(Rbb9n)n$h9d*p}{suxR1HxD+RN*D$s6Z2>$yR87+xVdMmM21)8_gR&d^^2(iIk z%IsWz>Wg+Ct&$F%=JLOOyiWb@pMLuBX+JO}{VJ^+9=8#uL#i+3={pP;SD$N)2%R)K zjPyEyMpT~XHW@zTK4Ny@OB1Bdb3bKt*V)kl*I*DVFEn|x{b7`~^MowcKY#YJ^!V(n zwD|n99b7T~d%A#n^z5-1@n=1daukGbU)%prM(~XQ3-`Ts{Hu4yGpiyqqB44mkv`rp zVR*MLu5hRWxkOXzp3baJtH2s|$SRowPO~NW%a0UR1-Xg_-YU_=GbqK7^2pM_D25uQ zloQT&8nE|x82+be>&)z1zait~SQ>_wAMxqSj9A0@@_v<$D{wELw%vMwrFr8&ez@u! z{ni(h?$9S5NLxqmsL!SoziG}v`{}FtfbGrb+ZWILHqYV#!;dwxQzkgq2V0(W0L`Wq zr6C8KXX7_L*s`SAvcw5Kk{r)d_jADIZXHfKBl2^)<^HQ>M;ko@+m(SOW9RgxssfvQKvv6D$zPh z$bI6Ij?pRI>Y~8|k1-~A;d9)!omiBEdSNW^sa*}kW2PkDUVchlrZUQ@SDG}ACI51H znYx`$fBL&0qNu~aT||zsE}i&B-wA(vm61jaj&}zrX~SPUbe0s-(nKwXH*Jpo1{exy zLdGg03RauJAGY^C_A7K`=o)_OG;nH@(o81wyg>PzI=p%Jwrz2``{?xk{ioAKM;$y7 zbHp(|v5?QxHeT|>mgY@)+R*e(BqyDO5t(`#^;~3F>}VHqvof?DmqG(|K+ZsZUVPWH z!i94IF8^}v=;8o;xPjEI%8fjRZ#U`B(s(9Izv>tVFQgX-ZnhdTI|&cUj6Ctc;{CHK zCGa+e|F3_!Jbm~OS!NVdFX(!bFnkA)sg?;*;I=-?vl)E}V|an*+jO@w1YBzr5~e)Q zmA6#ysLrH0(uu?C&2MzYNbU1)LHflBZgA!IFQUb>e)#bIgHf8FKUEIN)~4UIn;tBl zO|v-9%LV88_3L#864P*iUo{e@RAU@%%{NWn7x{E$T3@>SBHB0n)zXWfuUXlPqm#hY zK{->_(y1AnFF#}o-=F>ozTX|?tR7^NjGce$#;D%9A17OVkVY14XlnkTS{`tP;ace0 z2W>&lb8k9}Ly%k}r%^;4XlKD)b@!^-o>`MNGNcc!@2O`U?6eW{)l*4Ai#)$vUbp;~ zbXNBA;LiW)@BbfeLM7~+oBKp!tbQ$f6U&5AO)+3Dj>fKiPN(aDI_d6)I8~v1rbEb| z&XETBW^OoXzL}Q!I^WzzyaT}y?Q40yG0xi?6|TP>49!nNfWdn!+#$Xf;W*z4D>wJ@ zP?{PC9r6)A2SMs>hNn+5oP8dF^A<4=ym$iebZY6-Dc<;XmEkaRIu`?jUWX0d`S$7b zw|@5`Bd?5Nf?uaCjR$RLy_@v-Vv+03`zYu{S%ZR;GOhrGE*;VK;Fgu=DRb~4O}l7t zbwevUOp(QIb^5SdZ=>KWTpOOJ_RS-|kwA@V_`v|(fABcQ@%r@h>o=oN;yr(g;kQ9R z$C1ZgcP|}L4quxu?eJCIq8PPv>d3fwfpK_d&M_V`WxEG_bL@-;JK?fKO6WAQDHQS5oWhccJl&)z!M8l|!;{H%+ffLbFfg!s;CM{VX{(0jO4CmH>X5)u)I%dVOWA#qP~DS2n_OokVuMMyw8NS3 z#6(xk8Ze!qe{#(1w6do6E)K5gI0t>M-d(tJ=g#SW1&{(O{Uu{T*8l(j07*qoM6N<$ Ef-4(lo&W#< diff --git a/indra/newview/skins/default/xui/en/panel_login_first.xml b/indra/newview/skins/default/xui/en/panel_login_first.xml index 5568ccb792..cdf07c8aef 100644 --- a/indra/newview/skins/default/xui/en/panel_login_first.xml +++ b/indra/newview/skins/default/xui/en/panel_login_first.xml @@ -216,24 +216,17 @@ auto_resize="false" follows="left|right|top" name="images_container" - width="832" + width="675" left="0" top="0" height="500"> - Date: Tue, 3 Aug 2021 20:18:30 +0300 Subject: [PATCH 06/91] SL-15746 Turning right has priority over turning left Does not cover other opposite-direction movements since only rotation is viewer handled. --- indra/newview/llagent.cpp | 6 ++++++ indra/newview/llviewermessage.cpp | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 389448654a..41578f2328 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -713,6 +713,12 @@ void LLAgent::moveYaw(F32 mag, bool reset_view) setControlFlags(AGENT_CONTROL_YAW_NEG); } + U32 mask = AGENT_CONTROL_YAW_POS | AGENT_CONTROL_YAW_NEG; + if ((getControlFlags() & mask) == mask) + { + gAgentCamera.setYawKey(0); + } + if (reset_view) { gAgentCamera.resetView(); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 39c891c9c1..9c6c0d03db 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3333,6 +3333,13 @@ void send_agent_update(BOOL force_send, BOOL send_reliable) // trigger a control event. U32 control_flags = gAgent.getControlFlags(); + // Rotation into both directions should cancel out + U32 mask = AGENT_CONTROL_YAW_POS | AGENT_CONTROL_YAW_NEG; + if ((control_flags & mask) == mask) + { + control_flags &= ~mask; + } + MASK key_mask = gKeyboard->currentMask(TRUE); if (key_mask & MASK_ALT || key_mask & MASK_CONTROL) From 43425018e8485a423943cdbbfc00adb599eebaa6 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 4 Aug 2021 19:04:24 +0300 Subject: [PATCH 07/91] SL-15722 FIXED The experience permissions request dialog has "Force your avatar to sit" shown twice. --- indra/newview/llviewermessage.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 9c6c0d03db..236ae465f3 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5803,15 +5803,15 @@ void process_script_question(LLMessageSystem *msg, void **user_data) if (("ScriptTakeMoney" == script_perm.question) && has_not_only_debit) continue; - if (script_perm.question == "JoinAnExperience") - { // Some experience only permissions do not have an explicit permission bit. Add them here. - script_question += " " + LLTrans::getString("ForceSitAvatar") + "\n"; + if (LLTrans::getString(script_perm.question).empty()) + { + continue; } script_question += " " + LLTrans::getString(script_perm.question) + "\n"; } } - + args["QUESTIONS"] = script_question; if (known_questions != questions) From ceb752c1331235cc4b10b0431e4293873b785f21 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 13 Aug 2021 16:05:32 +0300 Subject: [PATCH 08/91] SL-11690 Parse URLs in Group description and Land description --- indra/llui/lltextbase.h | 2 ++ indra/newview/llfloaterland.cpp | 4 +++- indra/newview/llpanelgroupgeneral.cpp | 4 +++- indra/newview/skins/default/xui/en/floater_about_land.xml | 1 + indra/newview/skins/default/xui/en/panel_group_general.xml | 1 + 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 4e966b7cef..f6305b2a53 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -457,6 +457,8 @@ public: void setSkipLinkUnderline(bool skip_link_underline) { mSkipLinkUnderline = skip_link_underline; } bool getSkipLinkUnderline() { return mSkipLinkUnderline; } + void setParseURLs(bool parse_urls) { mParseHTML = parse_urls; } + void setPlainText(bool value) { mPlainText = value;} bool getPlainText() const { return mPlainText; } diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index af0e56e448..925eaf44fa 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -452,7 +452,8 @@ BOOL LLPanelLandGeneral::postBuild() mEditDesc = getChild("Description"); mEditDesc->setCommitOnFocusLost(TRUE); - mEditDesc->setCommitCallback(onCommitAny, this); + mEditDesc->setCommitCallback(onCommitAny, this); + mEditDesc->setContentTrusted(false); // No prevalidate function - historically the prevalidate function was broken, // allowing residents to put in characters like U+2661 WHITE HEART SUIT, so // preserve that ability. @@ -749,6 +750,7 @@ void LLPanelLandGeneral::refresh() BOOL can_edit_identity = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_CHANGE_IDENTITY); mEditName->setEnabled(can_edit_identity); mEditDesc->setEnabled(can_edit_identity); + mEditDesc->setParseURLs(!can_edit_identity); BOOL can_edit_agent_only = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_NO_POWERS); mBtnSetGroup->setEnabled(can_edit_agent_only && !parcel->getIsGroupOwned()); diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp index 375daf60f8..04d3236bf1 100644 --- a/indra/newview/llpanelgroupgeneral.cpp +++ b/indra/newview/llpanelgroupgeneral.cpp @@ -97,6 +97,7 @@ BOOL LLPanelGroupGeneral::postBuild() mEditCharter->setCommitCallback(onCommitAny, this); mEditCharter->setFocusReceivedCallback(boost::bind(onFocusEdit, _1, this)); mEditCharter->setFocusChangedCallback(boost::bind(onFocusEdit, _1, this)); + mEditCharter->setContentTrusted(false); } // Options @@ -575,7 +576,8 @@ void LLPanelGroupGeneral::update(LLGroupChange gc) if (mEditCharter) { - mEditCharter->setText(gdatap->mCharter); + mEditCharter->setParseURLs(!mAllowEdit || !can_change_ident); + mEditCharter->setText(gdatap->mCharter); } resetDirty(); diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index b2d9e53039..dee5e29a3c 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -164,6 +164,7 @@ left_pad="2" name="Description" spellcheck="true" + parse_urls="true" top_delta="0" width="365" word_wrap="true" /> diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index e34335a2af..5eafb5cdf1 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -95,6 +95,7 @@ Hover your mouse over the options for more help. layout="topleft" max_length="511" name="charter" + parse_urls="true" top="105" right="-4" bg_readonly_color="DkGray2" From 0124e8952bd71ef4d0ab83c3c6859191d7591809 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 13 Aug 2021 18:23:33 +0300 Subject: [PATCH 09/91] SL-15830 remove ancient "non-system grid" handling from the viewer --- indra/newview/llpanellogin.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 381b80fb66..0dfe5a2330 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -100,15 +100,7 @@ std::string get_user_key_from_name(const std::string &username) std::string key = username; LLStringUtil::trim(key); LLStringUtil::toLower(key); - if (!LLGridManager::getInstance()->isSystemGrid()) - { - size_t separator_index = username.find_first_of(" "); - if (separator_index == username.npos) - { - // CRED_IDENTIFIER_TYPE_ACCOUNT - return key; - } - } + // CRED_IDENTIFIER_TYPE_AGENT size_t separator_index = username.find_first_of(" ._"); std::string first = username.substr(0, separator_index); From 4043945dc778147738da0e6ee6d404ef7075a6da Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 13 Aug 2021 19:21:01 +0300 Subject: [PATCH 10/91] SL-15689 EEP doesn't change with height for sitting agents --- indra/newview/llagent.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 41578f2328..4ef9c10de2 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -2010,6 +2010,27 @@ void LLAgent::updateAgentPosition(const F32 dt, const F32 yaw_radians, const S32 // gAgentCamera.updateLookAt(mouse_x, mouse_y); + + // When agent has no parents, position updates come from setPositionAgent() + // But when agent has a parent (ex: is seated), position remains unchanged + // relative to parent and no parent's position update trigger + // setPositionAgent(). + // But EEP's sky track selection still needs an update if agent has a parent + // and parent moves (ex: vehicles). + if (isAgentAvatarValid() + && gAgentAvatarp->getParent() + && !mOnPositionChanged.empty() + ) + { + LLVector3d new_position = getPositionGlobal(); + if ((mLastTestGlobal - new_position).lengthSquared() > 1.0) + { + // If the position has changed by more than 1 meter since the last time we triggered. + // filters out some noise. + mLastTestGlobal = new_position; + mOnPositionChanged(mFrameAgent.getOrigin(), new_position); + } + } } // friends and operators From 23ad54c5a373946e034beed229612fd4d2292763 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 16 Aug 2021 18:57:42 +0300 Subject: [PATCH 11/91] SL-15380 Do not mute object agent is riding when agent and object are in different parcels --- indra/newview/llaudiosourcevo.cpp | 36 ++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/indra/newview/llaudiosourcevo.cpp b/indra/newview/llaudiosourcevo.cpp index 4b6c855bde..1846238d93 100644 --- a/indra/newview/llaudiosourcevo.cpp +++ b/indra/newview/llaudiosourcevo.cpp @@ -34,6 +34,7 @@ #include "llmutelist.h" #include "llviewercontrol.h" #include "llviewerparcelmgr.h" +#include "llvoavatarself.h" LLAudioSourceVO::LLAudioSourceVO(const LLUUID &sound_id, const LLUUID& owner_id, const F32 gain, LLViewerObject *objectp) : LLAudioSource(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_SFX), @@ -141,11 +142,36 @@ void LLAudioSourceVO::updateMute() LLVector3d pos_global = getPosGlobal(); F32 cutoff = mObjectp->getSoundCutOffRadius(); - if ((cutoff > 0.1f && !isInCutOffRadius(pos_global, cutoff)) // consider cutoff below 0.1m as off - || !LLViewerParcelMgr::getInstance()->canHearSound(pos_global)) - { - mute = true; - } + // Object can specify radius at which it turns off + // consider cutoff below 0.1m as 'cutoff off' + if (cutoff > 0.1f && !isInCutOffRadius(pos_global, cutoff)) + { + mute = true; + } + // check if parcel allows sounds to pass border + else if (!LLViewerParcelMgr::getInstance()->canHearSound(pos_global)) + { + if (isAgentAvatarValid() && gAgentAvatarp->getParent()) + { + // Check if agent is riding this object + // Agent can ride something out of region border and canHearSound + // will treat object as not being part of agent's parcel. + LLViewerObject *sound_root = (LLViewerObject*)mObjectp->getRoot(); + LLViewerObject *agent_root = (LLViewerObject*)gAgentAvatarp->getRoot(); + if (sound_root != agent_root) + { + mute = true; + } + else + { + LL_INFOS() << "roots identical" << LL_ENDL; + } + } + else + { + mute = true; + } + } if (!mute) { From c29a902e73808263a189cb09525e4aff1a7401e9 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 16 Aug 2021 22:11:52 +0300 Subject: [PATCH 12/91] SL-14988 Overflow can keep flexi from updating --- indra/newview/llflexibleobject.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index e075a311c2..ea019bcb93 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -389,7 +389,8 @@ void LLVolumeImplFlexible::doIdleUpdate() U64 throttling_delay = (virtual_frame_num + id) % update_period; if ((throttling_delay == 0 && mLastFrameNum < virtual_frame_num) //one or more virtual frames per frame - || (mLastFrameNum + update_period < virtual_frame_num)) // missed virtual frame + || (mLastFrameNum + update_period < virtual_frame_num) // missed virtual frame + || mLastFrameNum > virtual_frame_num) // overflow { // We need mLastFrameNum to compensate for 'unreliable time' and to filter 'duplicate' frames // If happened too late, subtract throttling_delay (it is zero otherwise) From 4a4838aa83f85c405ab2a0354b1da35a9fe5b92c Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 16 Aug 2021 22:33:27 +0300 Subject: [PATCH 13/91] SL-14988 Removed redundant check Potentially a result of a merge conflict, same check and recorder are inside doFlexibleUpdate(); --- indra/newview/llflexibleobject.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index ea019bcb93..2e9c804b21 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -788,11 +788,7 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable) volume->updateRelativeXform(); - if (mRenderRes > -1) - { - LL_RECORD_BLOCK_TIME(FTM_DO_FLEXIBLE_UPDATE); - doFlexibleUpdate(); - } + doFlexibleUpdate(); // Object may have been rotated, which means it needs a rebuild. See SL-47220 BOOL rotated = FALSE; From cf244c191e1b3ad99fd3d127a0f309e24fb7c8e0 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 18 Aug 2021 14:36:56 +0300 Subject: [PATCH 14/91] SL-15848 FIXED Camera shaking when focused on terrain while avatar is in motion --- indra/newview/llagentcamera.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index ed6c3c307f..0592300e8f 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -1420,7 +1420,7 @@ void LLAgentCamera::updateCamera() F32 smoothing = LLSmoothInterpolation::getInterpolant(gSavedSettings.getF32("CameraPositionSmoothing") * SMOOTHING_HALF_LIFE, FALSE); - if (!mFocusObject) // we differentiate on avatar mode + if (mFocusOnAvatar && !mFocusObject) // we differentiate on avatar mode { // for avatar-relative focus, we smooth in avatar space - // the avatar moves too jerkily w/r/t global space to smooth there. From c5ee0de58a7d363e514f3a1a76f7c6957200917c Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 18 Aug 2021 20:44:12 +0300 Subject: [PATCH 15/91] SL-15462 Refactor voiceControlCoro() into a state machine #1 --- indra/newview/llvoicevivox.cpp | 237 ++++++++++++++++++++------------- indra/newview/llvoicevivox.h | 1 - 2 files changed, 148 insertions(+), 90 deletions(-) diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 4d2eac8c09..aebdde8150 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -658,6 +658,22 @@ void LLVivoxVoiceClient::idle(void* user_data) // of a coroutine. // // + +typedef enum e_voice_control_coro_state +{ + VOICE_STATE_ERROR = -1, + VOICE_STATE_DONE = 0, + VOICE_STATE_TP_WAIT, // entry point + VOICE_STATE_START_DAEMON, + VOICE_STATE_PROVISION_ACCOUNT, + VOICE_STATE_START_SESSION, + VOICE_STATE_SESSION_RETRY, + VOICE_STATE_SESSION_ESTABLISHED, + VOICE_STATE_WAIT_FOR_CHANNEL, + VOICE_STATE_DISCONNECT, + VOICE_STATE_WAIT_FOR_EXIT, +} EVoiceControlCoroState; + void LLVivoxVoiceClient::voiceControlCoro() { LL_DEBUGS("Voice") << "starting" << LL_ENDL; @@ -666,114 +682,158 @@ void LLVivoxVoiceClient::voiceControlCoro() U32 retry = 0; - while (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE && !sShuttingDown) - { - LL_DEBUGS("Voice") << "Suspending voiceControlCoro() momentarily for teleport. Tuning: " << mTuningMode << ". Relog: " << mRelogRequested << LL_ENDL; - llcoro::suspendUntilTimeout(1.0); - } - - if (sShuttingDown) - { - mIsCoroutineActive = false; - return; - } + EVoiceControlCoroState coro_state = VOICE_STATE_TP_WAIT; do { - bool success = startAndConnectSession(); - if (success) + if (sShuttingDown) { - // enable/disable the automatic VAD and explicitly set the initial values of - // the VAD variables ourselves when it is off - see SL-15072 for more details - // note: we set the other parameters too even if the auto VAD is on which is ok - unsigned int vad_auto = gSavedSettings.getU32("VivoxVadAuto"); - unsigned int vad_hangover = gSavedSettings.getU32("VivoxVadHangover"); - unsigned int vad_noise_floor = gSavedSettings.getU32("VivoxVadNoiseFloor"); - unsigned int vad_sensitivity = gSavedSettings.getU32("VivoxVadSensitivity"); - setupVADParams(vad_auto, vad_hangover, vad_noise_floor, vad_sensitivity); - - // watch for changes to the VAD settings via Debug Settings UI and act on them accordingly - gSavedSettings.getControl("VivoxVadAuto")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); - gSavedSettings.getControl("VivoxVadHangover")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); - gSavedSettings.getControl("VivoxVadNoiseFloor")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); - gSavedSettings.getControl("VivoxVadSensitivity")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); - - if (mTuningMode && !sShuttingDown) - { - performMicTuning(); - } - - if (!sShuttingDown) - { - waitForChannel(); // this doesn't normally return unless relog is needed or shutting down - } - - LL_DEBUGS("Voice") << "lost channel RelogRequested=" << mRelogRequested << LL_ENDL; - endAndDisconnectSession(); - retry = 0; + // Vivox singleton performed the exit, and no longer + // cares about state of coroutine, so just stop + return; } - - // if we hit this and mRelogRequested is true, that indicates - // that we attempted to relog into Vivox and were rejected. - // Rather than just quit out of voice, we will tear it down (above) - // and then reconstruct the voice connecion from scratch. - LL_DEBUGS("Voice") - << "disconnected" - << " RelogRequested=" << mRelogRequested - << LL_ENDL; - if (mRelogRequested && !sShuttingDown) + + switch (coro_state) { - if (!success) + case VOICE_STATE_TP_WAIT: + // starting point for voice + if (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE) { - // We failed to connect, give it a bit time before retrying. - retry++; - F32 delay = llmin(5.f * (F32)retry, 60.f); - llcoro::suspendUntilTimeout(delay); - LL_INFOS("Voice") << "Voice failed to establish session after " << retry << " tries. Will attempt to reconnect." << LL_ENDL; + LL_DEBUGS("Voice") << "Suspending voiceControlCoro() momentarily for teleport. Tuning: " << mTuningMode << ". Relog: " << mRelogRequested << LL_ENDL; + llcoro::suspendUntilTimeout(1.0); } else { - LL_INFOS("Voice") << "will attempt to reconnect to voice" << LL_ENDL; + coro_state = VOICE_STATE_START_DAEMON; } + break; - while (isGatewayRunning() || (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE && !sShuttingDown)) + case VOICE_STATE_START_DAEMON: + LL_DEBUGS("Voice") << "Launching daemon" << LL_ENDL; + LLVoiceVivoxStats::getInstance()->reset(); + if (startAndLaunchDaemon()) + { + coro_state = VOICE_STATE_PROVISION_ACCOUNT; + } + else + { + coro_state = VOICE_STATE_SESSION_RETRY; + } + break; + + case VOICE_STATE_PROVISION_ACCOUNT: + if (provisionVoiceAccount()) + { + coro_state = VOICE_STATE_START_SESSION; + } + else + { + coro_state = VOICE_STATE_SESSION_RETRY; + } + break; + + case VOICE_STATE_START_SESSION: + if (establishVoiceConnection()) + { + coro_state = VOICE_STATE_SESSION_ESTABLISHED; + } + else + { + coro_state = VOICE_STATE_SESSION_RETRY; + } + break; + + case VOICE_STATE_SESSION_RETRY: + giveUp(); // cleans sockets and session + if (mRelogRequested) + { + // We failed to connect, give it a bit time before retrying. + retry++; + F32 full_delay = llmin(5.f * (F32)retry, 60.f); + F32 current_delay = 0.f; + LL_INFOS("Voice") << "Voice failed to establish session after " << retry + << " tries. Will attempt to reconnect in " << full_delay + << " seconds" << LL_ENDL; + while (current_delay < full_delay && !sShuttingDown) + { + // Assuming that a second has passed is not accurate, + // but we don't need accurancy here, just to make sure + // that some time passed and not to outlive voice itself + current_delay++; + llcoro::suspendUntilTimeout(1.f); + } + coro_state = VOICE_STATE_WAIT_FOR_EXIT; + } + else + { + coro_state = VOICE_STATE_DONE; + } + break; + + case VOICE_STATE_SESSION_ESTABLISHED: + { + // enable/disable the automatic VAD and explicitly set the initial values of + // the VAD variables ourselves when it is off - see SL-15072 for more details + // note: we set the other parameters too even if the auto VAD is on which is ok + unsigned int vad_auto = gSavedSettings.getU32("VivoxVadAuto"); + unsigned int vad_hangover = gSavedSettings.getU32("VivoxVadHangover"); + unsigned int vad_noise_floor = gSavedSettings.getU32("VivoxVadNoiseFloor"); + unsigned int vad_sensitivity = gSavedSettings.getU32("VivoxVadSensitivity"); + setupVADParams(vad_auto, vad_hangover, vad_noise_floor, vad_sensitivity); + + // watch for changes to the VAD settings via Debug Settings UI and act on them accordingly + gSavedSettings.getControl("VivoxVadAuto")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); + gSavedSettings.getControl("VivoxVadHangover")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); + gSavedSettings.getControl("VivoxVadNoiseFloor")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); + gSavedSettings.getControl("VivoxVadSensitivity")->getSignal()->connect(boost::bind(&LLVivoxVoiceClient::onVADSettingsChange, this)); + + if (mTuningMode) + { + performMicTuning(); + } + + coro_state = VOICE_STATE_WAIT_FOR_CHANNEL; + } + break; + + case VOICE_STATE_WAIT_FOR_CHANNEL: + waitForChannel(); + coro_state = VOICE_STATE_DISCONNECT; + break; + + case VOICE_STATE_DISCONNECT: + LL_DEBUGS("Voice") << "lost channel RelogRequested=" << mRelogRequested << LL_ENDL; + endAndDisconnectSession(); + retry = 0; // Connected without issues + coro_state = VOICE_STATE_WAIT_FOR_EXIT; + break; + + case VOICE_STATE_WAIT_FOR_EXIT: + if (isGatewayRunning()) { LL_INFOS("Voice") << "waiting for SLVoice to exit" << LL_ENDL; llcoro::suspendUntilTimeout(1.0); } + else if (mRelogRequested && mVoiceEnabled) + { + LL_INFOS("Voice") << "will attempt to reconnect to voice" << LL_ENDL; + coro_state = VOICE_STATE_TP_WAIT; + } + else + { + coro_state = VOICE_STATE_DONE; + } + break; + + case VOICE_STATE_DONE: + break; } - } - while (mVoiceEnabled && mRelogRequested && !sShuttingDown); + } while (coro_state > 0); + mIsCoroutineActive = false; LL_INFOS("Voice") << "exiting" << LL_ENDL; } -bool LLVivoxVoiceClient::startAndConnectSession() -{ - bool ok = false; - LL_DEBUGS("Voice") << LL_ENDL; - - LLVoiceVivoxStats::getInstance()->reset(); - - if (startAndLaunchDaemon()) - { - if (provisionVoiceAccount()) - { - if (establishVoiceConnection()) - { - ok = true; - } - } - } - - if (!ok) - { - giveUp(); - } - - return ok; -} - bool LLVivoxVoiceClient::endAndDisconnectSession() { LL_DEBUGS("Voice") << LL_ENDL; @@ -1047,7 +1107,7 @@ bool LLVivoxVoiceClient::provisionVoiceAccount() if (status == LLCore::HttpStatus(404)) { F32 timeout = pow(PROVISION_RETRY_TIMEOUT, static_cast(retryCount)); - LL_WARNS("Voice") << "Provision CAP 404. Retrying in " << timeout << " seconds." << LL_ENDL; + LL_WARNS("Voice") << "Provision CAP 404. Retrying in " << timeout << " seconds. Retries: " << (S32)retryCount << LL_ENDL; if (sShuttingDown) { return false; @@ -1798,7 +1858,6 @@ bool LLVivoxVoiceClient::waitForChannel() if (sShuttingDown) { - logoutOfVivox(false); return false; } diff --git a/indra/newview/llvoicevivox.h b/indra/newview/llvoicevivox.h index 75ff5429f3..4ee0545a72 100644 --- a/indra/newview/llvoicevivox.h +++ b/indra/newview/llvoicevivox.h @@ -627,7 +627,6 @@ private: //--- void voiceControlCoro(); - bool startAndConnectSession(); bool endAndDisconnectSession(); bool callbackEndDaemon(const LLSD& data); From f6b831a8a73469ce031334219c69bc538dfb92ea Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 18 Aug 2021 22:27:19 +0300 Subject: [PATCH 16/91] SL-15462 Refactor voiceControlCoro() into a state machine #2 --- indra/newview/llvoicevivox.cpp | 38 ++++++++++++++++++++++++++++++---- indra/newview/llvoicevivox.h | 1 + 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index aebdde8150..04e649e958 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -675,6 +675,30 @@ typedef enum e_voice_control_coro_state } EVoiceControlCoroState; void LLVivoxVoiceClient::voiceControlCoro() +{ + int state = 0; + try + { + // state is passed as a reference instead of being + // a member due to unresolved issues with coroutine + // surviving longer than LLVivoxVoiceClient + voiceControlStateMachine(state); + } + catch (const LLContinueError&) + { + LOG_UNHANDLED_EXCEPTION("LLVivoxVoiceClient"); + } + catch (...) + { + // Ideally for Windows need to log SEH exception instead or to set SEH + // handlers but bugsplat shows local variables for windows, which should + // be enough + LL_WARNS("Voice") << "voiceControlStateMachine crashed in state " << state << LL_ENDL; + throw; + } +} + +void LLVivoxVoiceClient::voiceControlStateMachine(S32 &coro_state) { LL_DEBUGS("Voice") << "starting" << LL_ENDL; mIsCoroutineActive = true; @@ -682,14 +706,15 @@ void LLVivoxVoiceClient::voiceControlCoro() U32 retry = 0; - EVoiceControlCoroState coro_state = VOICE_STATE_TP_WAIT; + coro_state = VOICE_STATE_TP_WAIT; do { if (sShuttingDown) { - // Vivox singleton performed the exit, and no longer - // cares about state of coroutine, so just stop + // Vivox singleton performed the exit, logged out, + // cleaned sockets, gateway and no longer cares + // about state of coroutine, so just stop return; } @@ -797,7 +822,7 @@ void LLVivoxVoiceClient::voiceControlCoro() break; case VOICE_STATE_WAIT_FOR_CHANNEL: - waitForChannel(); + waitForChannel(); // todo: split into more states like login/fonts coro_state = VOICE_STATE_DISCONNECT; break; @@ -1865,6 +1890,11 @@ bool LLVivoxVoiceClient::waitForChannel() { retrieveVoiceFonts(); + if (sShuttingDown) + { + return false; + } + // Request the set of available voice fonts. refreshVoiceEffectLists(false); } diff --git a/indra/newview/llvoicevivox.h b/indra/newview/llvoicevivox.h index 4ee0545a72..cf30a4e86a 100644 --- a/indra/newview/llvoicevivox.h +++ b/indra/newview/llvoicevivox.h @@ -626,6 +626,7 @@ private: // Coroutine support methods //--- void voiceControlCoro(); + void voiceControlStateMachine(S32 &coro_state); bool endAndDisconnectSession(); From 19a74195dda9cfb20466f5f7b09fe1caf84813a6 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 19 Aug 2021 20:35:41 +0300 Subject: [PATCH 17/91] SL-15855 skip scroll wheel handling when quitting --- indra/newview/llviewerwindow.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 1d13a306ef..32f18b1d5c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3211,6 +3211,11 @@ void LLViewerWindow::handleScrollWheel(S32 clicks) void LLViewerWindow::handleScrollHWheel(S32 clicks) { + if (LLAppViewer::instance()->quitRequested()) + { + return; + } + LLUI::getInstance()->resetMouseIdleTimer(); LLMouseHandler* mouse_captor = gFocusMgr.getMouseCapture(); From 49b7ce025d6d1e3adb70c28b276a9b7378f57a9f Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 19 Aug 2021 21:53:52 +0300 Subject: [PATCH 18/91] SL-7934 Driver version from wrong GPU --- indra/llwindow/lldxhardware.cpp | 78 +++++++++++++++++++++++++++++---- indra/llwindow/lldxhardware.h | 10 ++++- indra/newview/llappviewer.cpp | 23 +++++++++- 3 files changed, 101 insertions(+), 10 deletions(-) diff --git a/indra/llwindow/lldxhardware.cpp b/indra/llwindow/lldxhardware.cpp index 12a6baa3e6..81e938edbe 100644 --- a/indra/llwindow/lldxhardware.cpp +++ b/indra/llwindow/lldxhardware.cpp @@ -229,7 +229,7 @@ S32 LLDXHardware::getMBVideoMemoryViaWMI() } //Getting the version of graphics controller driver via WMI -std::string LLDXHardware::getDriverVersionWMI() +std::string LLDXHardware::getDriverVersionWMI(EGPUVendor vendor) { std::string mDriverVersion; HRESULT hrCoInitialize = S_OK; @@ -325,15 +325,68 @@ std::string LLDXHardware::getDriverVersionWMI() { break; // If quantity less then 1. } + + if (vendor != GPU_ANY) + { + VARIANT vtCaptionProp; + // Might be preferable to check "AdapterCompatibility" here instead of caption. + hr = pclsObj->Get(L"Caption", 0, &vtCaptionProp, 0, 0); - VARIANT vtProp; + if (FAILED(hr)) + { + LL_WARNS("AppInit") << "Query for Caption property failed." << " Error code = 0x" << hr << LL_ENDL; + pSvc->Release(); + pLoc->Release(); + CoUninitialize(); + return std::string(); // Program has failed. + } - // Get the value of the Name property - hr = pclsObj->Get(L"DriverVersion", 0, &vtProp, 0, 0); + // use characters in the returned driver version + BSTR caption(vtCaptionProp.bstrVal); + + //convert BSTR to std::string + std::wstring ws(caption, SysStringLen(caption)); + std::string caption_str(ws.begin(), ws.end()); + LLStringUtil::toLower(caption_str); + + bool found = false; + switch (vendor) + { + case GPU_INTEL: + found = caption_str.find("intel") != std::string::npos; + break; + case GPU_NVIDIA: + found = caption_str.find("nvidia") != std::string::npos; + break; + case GPU_AMD: + found = caption_str.find("amd") != std::string::npos + || caption_str.find("ati ") != std::string::npos + || caption_str.find("radeon") != std::string::npos; + break; + default: + break; + } + + if (found) + { + VariantClear(&vtCaptionProp); + } + else + { + VariantClear(&vtCaptionProp); + pclsObj->Release(); + continue; + } + } + + VARIANT vtVersionProp; + + // Get the value of the DriverVersion property + hr = pclsObj->Get(L"DriverVersion", 0, &vtVersionProp, 0, 0); if (FAILED(hr)) { - LL_WARNS("AppInit") << "Query for name property failed." << " Error code = 0x" << hr << LL_ENDL; + LL_WARNS("AppInit") << "Query for DriverVersion property failed." << " Error code = 0x" << hr << LL_ENDL; pSvc->Release(); pLoc->Release(); CoUninitialize(); @@ -341,7 +394,7 @@ std::string LLDXHardware::getDriverVersionWMI() } // use characters in the returned driver version - BSTR driverVersion(vtProp.bstrVal); + BSTR driverVersion(vtVersionProp.bstrVal); //convert BSTR to std::string std::wstring ws(driverVersion, SysStringLen(driverVersion)); @@ -354,10 +407,19 @@ std::string LLDXHardware::getDriverVersionWMI() } else if (mDriverVersion != str) { - LL_WARNS("DriverVersion") << "Different versions of drivers. Version of second driver : " << str << LL_ENDL; + if (vendor == GPU_ANY) + { + // Expected from systems with gpus from different vendors + LL_INFOS("DriverVersion") << "Multiple video drivers detected. Version of second driver: " << str << LL_ENDL; + } + else + { + // Not Expected! + LL_WARNS("DriverVersion") << "Multiple video drivers detected from same vendor. Version of second driver : " << str << LL_ENDL; + } } - VariantClear(&vtProp); + VariantClear(&vtVersionProp); pclsObj->Release(); } diff --git a/indra/llwindow/lldxhardware.h b/indra/llwindow/lldxhardware.h index 1cb687e3b6..9cec3e2f1b 100644 --- a/indra/llwindow/lldxhardware.h +++ b/indra/llwindow/lldxhardware.h @@ -88,7 +88,15 @@ public: // vram_only TRUE does a "light" probe. BOOL getInfo(BOOL vram_only); - std::string getDriverVersionWMI(); + // WMI can return multiple GPU drivers + // specify which one to output + typedef enum { + GPU_INTEL, + GPU_NVIDIA, + GPU_AMD, + GPU_ANY + } EGPUVendor; + std::string getDriverVersionWMI(EGPUVendor vendor); S32 getVRAM() const { return mVRAM; } diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 891722e1bd..65db910c08 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3165,7 +3165,28 @@ LLSD LLAppViewer::getViewerInfo() const info["GRAPHICS_CARD"] = ll_safe_string((const char*)(glGetString(GL_RENDERER))); #if LL_WINDOWS - std::string drvinfo = gDXHardware.getDriverVersionWMI(); + std::string drvinfo; + + if (gGLManager.mIsIntel) + { + drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_INTEL); + } + else if (gGLManager.mIsNVIDIA) + { + drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_NVIDIA); + } + else if (gGLManager.mIsATI) + { + drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_AMD); + } + + if (drvinfo.empty()) + { + // Generic/substitute windows driver? Unknown vendor? + LL_WARNS("DriverVersion") << "Vendor based driver search failed, searching for any driver" << LL_ENDL; + drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_ANY); + } + if (!drvinfo.empty()) { info["GRAPHICS_DRIVER_VERSION"] = drvinfo; From cb9c8526c6b11bb8d88e631b207a4e6790099e94 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 20 Aug 2021 23:37:08 +0300 Subject: [PATCH 19/91] SL-15850 Mangled chat in case of lost connection --- indra/newview/llappviewer.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 65db910c08..ccd9e76f53 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -5039,13 +5039,18 @@ void LLAppViewer::idle() } } + + // Update layonts, handle mouse events, tooltips, e t c + // updateUI() needs to be called even in case viewer disconected + // since related notification still needs handling and allows + // opening chat. + gViewerWindow->updateUI(); + if (gDisconnected) { return; } - gViewerWindow->updateUI(); - if (gTeleportDisplay) { return; From a6833096c4593c78146b3e94a31e228302600b87 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 25 Aug 2021 17:12:22 +0300 Subject: [PATCH 20/91] SL-15881 Crash at setCommitCallback --- indra/newview/llchathistory.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index c110e0d815..64d3f805a0 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -558,9 +558,15 @@ public: mTimeBoxTextBox = getChild("time_box"); mInfoCtrl = LLUICtrlFactory::getInstance()->createFromFile("inspector_info_ctrl.xml", this, LLPanel::child_registry_t::instance()); - llassert(mInfoCtrl != NULL); - mInfoCtrl->setCommitCallback(boost::bind(&LLChatHistoryHeader::onClickInfoCtrl, mInfoCtrl)); - mInfoCtrl->setVisible(FALSE); + if (mInfoCtrl) + { + mInfoCtrl->setCommitCallback(boost::bind(&LLChatHistoryHeader::onClickInfoCtrl, mInfoCtrl)); + mInfoCtrl->setVisible(FALSE); + } + else + { + LL_ERRS() << "Failed to create an interface element due to missing or corrupted file inspector_info_ctrl.xml" << LL_ENDL; + } return LLPanel::postBuild(); } From 9e4549117d86f686c50cc68b423eeb5f98999230 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 27 Aug 2021 17:29:09 +0300 Subject: [PATCH 21/91] SL-15887 FIXED Using Position buttons on an attachment that has a negative number for any position axii causes global position to be used --- indra/newview/llpanelobject.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 6bff95ab36..5248ba31f5 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -1672,8 +1672,19 @@ void LLPanelObject::sendPosition(BOOL btn_down) // Make sure new position is in a valid region, so the object // won't get dumped by the simulator. LLVector3d new_pos_global = regionp->getPosGlobalFromRegion(newpos); + bool is_valid_pos = true; + if (mObject->isAttachment()) + { + LLVector3 delta_pos = mObject->getPositionEdit() - newpos; + LLVector3d attachment_pos = regionp->getPosGlobalFromRegion(mObject->getPositionRegion() + delta_pos); + is_valid_pos = LLWorld::getInstance()->positionRegionValidGlobal(attachment_pos); + } + else + { + is_valid_pos = LLWorld::getInstance()->positionRegionValidGlobal(new_pos_global); + } - if ( LLWorld::getInstance()->positionRegionValidGlobal(new_pos_global) ) + if (is_valid_pos) { // send only if the position is changed, that is, the delta vector is not zero LLVector3d old_pos_global = mObject->getPositionGlobal(); From 59fc1ce288cf11839f4967c50bd1dedb2fde378d Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 31 Aug 2021 18:12:02 +0300 Subject: [PATCH 22/91] SL-10659 Sometimes selection particles misbehave when selecting Animesh --- indra/newview/llagentcamera.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 0592300e8f..7348b4f496 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -404,10 +404,9 @@ LLVector3 LLAgentCamera::calcFocusOffset(LLViewerObject *object, LLVector3 origi LLQuaternion obj_rot = object->getRenderRotation(); LLVector3 obj_pos = object->getRenderPosition(); - BOOL is_avatar = object->isAvatar(); // if is avatar - don't do any funk heuristics to position the focal point // see DEV-30589 - if (is_avatar) + if (object->isAvatar() || (object->isAnimatedObject() && object->getControlAvatar())) { return original_focus_point - obj_pos; } @@ -532,7 +531,6 @@ LLVector3 LLAgentCamera::calcFocusOffset(LLViewerObject *object, LLVector3 origi // or keep the focus point in the object middle when (relatively) far // NOTE: leave focus point in middle of avatars, since the behavior you want when alt-zooming on avatars // is almost always "tumble about middle" and not "spin around surface point" - if (!is_avatar) { LLVector3 obj_rel = original_focus_point - object->getRenderPosition(); From c82995f3e67ed1947c29fa1d27f1dfe015513ab0 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 7 Sep 2021 18:46:40 +0300 Subject: [PATCH 23/91] SL-15832 Add OS bitness to ViewerStats --- indra/llcommon/llsys.cpp | 26 ++++++++++++++++++++++++++ indra/llcommon/llsys.h | 4 ++++ indra/newview/llviewerstats.cpp | 1 + 3 files changed, 31 insertions(+) diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index 4e61fb8a58..b3a93e3254 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -474,6 +474,8 @@ LLOSInfo::LLOSInfo() : dotted_version_string << mMajorVer << "." << mMinorVer << "." << mBuild; mOSVersionString.append(dotted_version_string.str()); + mOSBitness = is64Bit() ? 64 : 32; + LL_INFOS("LLOSInfo") << "OS bitness: " << mOSBitness << LL_ENDL; } #ifndef LL_WINDOWS @@ -529,6 +531,11 @@ const std::string& LLOSInfo::getOSVersionString() const return mOSVersionString; } +const S32 LLOSInfo::getOSBitness() const +{ + return mOSBitness; +} + //static U32 LLOSInfo::getProcessVirtualSizeKB() { @@ -582,6 +589,25 @@ U32 LLOSInfo::getProcessResidentSizeKB() return resident_size; } +//static +bool LLOSInfo::is64Bit() +{ +#if LL_WINDOWS +#if defined(_WIN64) + return true; +#elif defined(_WIN32) + // 32-bit viewer may be run on both 32-bit and 64-bit Windows, need to elaborate + BOOL f64 = FALSE; + return IsWow64Process(GetCurrentProcess(), &f64) && f64; +#else + return false; +#endif +#else // ! LL_WINDOWS + // we only build a 64-bit mac viewer and currently we don't build for linux at all + return true; +#endif +} + LLCPUInfo::LLCPUInfo() { std::ostringstream out; diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h index 5ab97939b9..cb92cb0ac6 100644 --- a/indra/llcommon/llsys.h +++ b/indra/llcommon/llsys.h @@ -51,6 +51,8 @@ public: const std::string& getOSStringSimple() const; const std::string& getOSVersionString() const; + + const S32 getOSBitness() const; S32 mMajorVer; S32 mMinorVer; @@ -59,6 +61,7 @@ public: #ifndef LL_WINDOWS static S32 getMaxOpenFiles(); #endif + static bool is64Bit(); static U32 getProcessVirtualSizeKB(); static U32 getProcessResidentSizeKB(); @@ -66,6 +69,7 @@ private: std::string mOSString; std::string mOSStringSimple; std::string mOSVersionString; + S32 mOSBitness; }; diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index 314c1a1f1e..c29fdeb943 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -496,6 +496,7 @@ void send_viewer_stats(bool include_preferences) system["os"] = LLOSInfo::instance().getOSStringSimple(); system["cpu"] = gSysCPU.getCPUString(); system["address_size"] = ADDRESS_SIZE; + system["os_bitness"] = LLOSInfo::instance().getOSBitness(); unsigned char MACAddress[MAC_ADDRESS_BYTES]; LLUUID::getNodeID(MACAddress); std::string macAddressString = llformat("%02x-%02x-%02x-%02x-%02x-%02x", From 9aa5be79d9b5be48d7819c983146b3082be4ab83 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 7 Sep 2021 23:45:33 +0300 Subject: [PATCH 24/91] SL-4250 Do not allow editing worn items if items or avatar are not yet loaded --- indra/newview/llagentwearables.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 7f18ea6fe2..86bea2f58e 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -37,6 +37,7 @@ #include "llgesturemgr.h" #include "llinventorybridge.h" #include "llinventoryfunctions.h" +#include "llinventorymodelbackgroundfetch.h" #include "llinventoryobserver.h" #include "llinventorypanel.h" #include "lllocaltextureobject.h" @@ -1581,6 +1582,14 @@ void LLAgentWearables::editWearable(const LLUUID& item_id) return; } + if (!item->isFinished()) + { + LL_WARNS() << "Tried to edit wearable that isn't loaded" << LL_ENDL; + // Restart fetch or put item to the front + LLInventoryModelBackgroundFetch::instance().start(item->getUUID(), false); + return; + } + LLViewerWearable* wearable = gAgentWearables.getWearableFromItemID(item_id); if (!wearable) { @@ -1594,6 +1603,18 @@ void LLAgentWearables::editWearable(const LLUUID& item_id) return; } + S32 shape_count = gAgentWearables.getWearableCount(LLWearableType::WT_SHAPE); + S32 hair_count = gAgentWearables.getWearableCount(LLWearableType::WT_HAIR); + S32 eye_count = gAgentWearables.getWearableCount(LLWearableType::WT_EYES); + S32 skin_count = gAgentWearables.getWearableCount(LLWearableType::WT_SKIN); + if (!shape_count || !hair_count || !eye_count || !skin_count) + { + // Don't let user edit wearables if avatar is cloud due to missing parts. + // Let user edit wearables if avatar is cloud due to missing textures. + LL_WARNS() << "Cannot modify wearable. Avatar is cloud and missing parts." << LL_ENDL; + return; + } + const BOOL disable_camera_switch = LLWearableType::getDisableCameraSwitch(wearable->getType()); LLPanel* panel = LLFloaterSidePanelContainer::getPanel("appearance"); LLSidepanelAppearance::editWearable(wearable, panel, disable_camera_switch); From 6e200800eddc374419d6e0e42b9ef63813ddf70f Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 17 Mar 2021 00:19:38 +0200 Subject: [PATCH 25/91] SL-14541 removed breakpad, win_crash_logger # Conflicts: # autobuild.xml # indra/CMakeLists.txt # indra/newview/CMakeLists.txt # indra/newview/llappviewerwin32.h # indra/win_crash_logger/llcrashloggerwindows.cpp Cherry picked from DRTVWR-520 --- indra/CMakeLists.txt | 16 +- indra/cmake/CMakeLists.txt | 2 - indra/cmake/Copy3rdPartyLibs.cmake | 1 - indra/cmake/FindGoogleBreakpad.cmake | 40 -- indra/cmake/GoogleBreakpad.cmake | 22 - indra/llcommon/CMakeLists.txt | 3 - indra/llcommon/llapp.cpp | 173 ------ indra/llcommon/llapp.h | 8 - indra/llcorehttp/CMakeLists.txt | 1 - indra/newview/CMakeLists.txt | 67 +-- indra/newview/generate_breakpad_symbols.py | 166 ------ indra/newview/llappviewer.cpp | 2 +- indra/newview/llappviewer.h | 1 - indra/newview/llappviewermacosx.cpp | 22 - indra/newview/llappviewermacosx.h | 1 - indra/newview/llappviewerwin32.cpp | 54 -- indra/newview/llappviewerwin32.h | 1 - indra/newview/viewer_manifest.py | 1 - indra/win_crash_logger/CMakeLists.txt | 105 ---- indra/win_crash_logger/StdAfx.cpp | 34 -- indra/win_crash_logger/StdAfx.h | 56 -- indra/win_crash_logger/ll_icon.ico | Bin 2238 -> 0 bytes .../win_crash_logger/llcrashloggerwindows.cpp | 536 ------------------ indra/win_crash_logger/llcrashloggerwindows.h | 86 --- indra/win_crash_logger/resource.h | 63 -- indra/win_crash_logger/win_crash_logger.cpp | 70 --- indra/win_crash_logger/win_crash_logger.h | 38 -- indra/win_crash_logger/win_crash_logger.ico | Bin 1078 -> 0 bytes indra/win_crash_logger/win_crash_logger.rc | 188 ------ 29 files changed, 12 insertions(+), 1745 deletions(-) delete mode 100644 indra/cmake/FindGoogleBreakpad.cmake delete mode 100644 indra/cmake/GoogleBreakpad.cmake delete mode 100755 indra/newview/generate_breakpad_symbols.py delete mode 100644 indra/win_crash_logger/CMakeLists.txt delete mode 100644 indra/win_crash_logger/StdAfx.cpp delete mode 100644 indra/win_crash_logger/StdAfx.h delete mode 100644 indra/win_crash_logger/ll_icon.ico delete mode 100644 indra/win_crash_logger/llcrashloggerwindows.cpp delete mode 100644 indra/win_crash_logger/llcrashloggerwindows.h delete mode 100644 indra/win_crash_logger/resource.h delete mode 100644 indra/win_crash_logger/win_crash_logger.cpp delete mode 100644 indra/win_crash_logger/win_crash_logger.h delete mode 100644 indra/win_crash_logger/win_crash_logger.ico delete mode 100755 indra/win_crash_logger/win_crash_logger.rc diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index db88e44127..ef72edf75d 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -72,6 +72,15 @@ if (LINUX) include(LLAppearanceUtility) add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR}) endif (INSTALL_PROPRIETARY) + add_dependencies(viewer linux-crash-logger-strip-target) +elseif (DARWIN) + add_subdirectory(${VIEWER_PREFIX}mac_crash_logger) + add_dependencies(viewer mac-crash-logger) +elseif (WINDOWS) + # cmake EXISTS requires an absolute path, see indra/cmake/Variables.cmake + if (EXISTS ${VIEWER_DIR}win_setup) + add_subdirectory(${VIEWER_DIR}win_setup) + endif (EXISTS ${VIEWER_DIR}win_setup) endif (LINUX) if (WINDOWS) @@ -98,13 +107,6 @@ else (USE_BUGSPLAT) if (LINUX) add_subdirectory(${VIEWER_PREFIX}linux_crash_logger) add_dependencies(viewer linux-crash-logger-strip-target) - elseif (DARWIN) - add_subdirectory(${VIEWER_PREFIX}mac_crash_logger) - add_dependencies(viewer mac-crash-logger) - elseif (WINDOWS) - add_subdirectory(${VIEWER_PREFIX}win_crash_logger) - # add_dependencies(viewer windows-setup windows-crash-logger) - add_dependencies(viewer windows-crash-logger) endif (LINUX) endif (USE_BUGSPLAT) diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index a17e37cd32..cca305c741 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -28,7 +28,6 @@ set(cmake_SOURCE_FILES FindAutobuild.cmake FindBerkeleyDB.cmake FindGLH.cmake - FindGoogleBreakpad.cmake FindHUNSPELL.cmake FindJsonCpp.cmake FindNDOF.cmake @@ -43,7 +42,6 @@ set(cmake_SOURCE_FILES GLH.cmake GLOD.cmake ## GStreamer010Plugin.cmake - GoogleBreakpad.cmake GoogleMock.cmake Havok.cmake Hunspell.cmake diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 46ddb9d15b..31537a43ef 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -158,7 +158,6 @@ elseif(DARWIN) libapr-1.dylib libaprutil-1.0.dylib libaprutil-1.dylib - libexception_handler.dylib ${EXPAT_COPY} libGLOD.dylib libhunspell-1.3.0.dylib diff --git a/indra/cmake/FindGoogleBreakpad.cmake b/indra/cmake/FindGoogleBreakpad.cmake deleted file mode 100644 index 1a0493be5e..0000000000 --- a/indra/cmake/FindGoogleBreakpad.cmake +++ /dev/null @@ -1,40 +0,0 @@ -# -*- cmake -*- - -# - Find Google BreakPad -# Find the Google BreakPad includes and library -# This module defines -# BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR, where to find exception_handler.h, etc. -# BREAKPAD_EXCEPTION_HANDLER_LIBRARIES, the libraries needed to use Google BreakPad. -# BREAKPAD_EXCEPTION_HANDLER_FOUND, If false, do not try to use Google BreakPad. -# also defined, but not for general use are -# BREAKPAD_EXCEPTION_HANDLER_LIBRARY, where to find the Google BreakPad library. - -FIND_PATH(BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR google_breakpad/exception_handler.h) - -SET(BREAKPAD_EXCEPTION_HANDLER_NAMES ${BREAKPAD_EXCEPTION_HANDLER_NAMES} breakpad_client) -FIND_LIBRARY(BREAKPAD_EXCEPTION_HANDLER_LIBRARY - NAMES ${BREAKPAD_EXCEPTION_HANDLER_NAMES} - ) - -IF (BREAKPAD_EXCEPTION_HANDLER_LIBRARY AND BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR) - SET(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES ${BREAKPAD_EXCEPTION_HANDLER_LIBRARY}) - SET(BREAKPAD_EXCEPTION_HANDLER_FOUND "YES") -ELSE (BREAKPAD_EXCEPTION_HANDLER_LIBRARY AND BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR) - SET(BREAKPAD_EXCEPTION_HANDLER_FOUND "NO") -ENDIF (BREAKPAD_EXCEPTION_HANDLER_LIBRARY AND BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR) - - -IF (BREAKPAD_EXCEPTION_HANDLER_FOUND) - IF (NOT BREAKPAD_EXCEPTION_HANDLER_FIND_QUIETLY) - MESSAGE(STATUS "Found Google BreakPad: ${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES}") - ENDIF (NOT BREAKPAD_EXCEPTION_HANDLER_FIND_QUIETLY) -ELSE (BREAKPAD_EXCEPTION_HANDLER_FOUND) - IF (BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find Google BreakPad library") - ENDIF (BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED) -ENDIF (BREAKPAD_EXCEPTION_HANDLER_FOUND) - -MARK_AS_ADVANCED( - BREAKPAD_EXCEPTION_HANDLER_LIBRARY - BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR - ) diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake deleted file mode 100644 index 829e1ac08a..0000000000 --- a/indra/cmake/GoogleBreakpad.cmake +++ /dev/null @@ -1,22 +0,0 @@ -# -*- cmake -*- -include(Prebuilt) - -if (USESYSTEMLIBS) - set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED ON) - include(FindGoogleBreakpad) -else (USESYSTEMLIBS) - use_prebuilt_binary(google_breakpad) - if (DARWIN) - set(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES exception_handler) - endif (DARWIN) - if (LINUX) - set(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES breakpad_client) - endif (LINUX) - if (WINDOWS) - set(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES exception_handler crash_generation_client crash_generation_server common) - endif (WINDOWS) - # yes, this does look dumb, no, it's not incorrect - # - set(BREAKPAD_INCLUDE_DIRECTORIES "${LIBS_PREBUILT_DIR}/include/google_breakpad" "${LIBS_PREBUILT_DIR}/include/google_breakpad/google_breakpad") -endif (USESYSTEMLIBS) - diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index dd266630ea..22dfe12e40 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -9,7 +9,6 @@ include(Linking) include(Boost) include(LLSharedLibs) include(JsonCpp) -include(GoogleBreakpad) include(Copy3rdPartyLibs) include(ZLIB) include(URIPARSER) @@ -19,7 +18,6 @@ include_directories( ${LLCOMMON_INCLUDE_DIRS} ${JSONCPP_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} - ${BREAKPAD_INCLUDE_DIRECTORIES} ${URIPARSER_INCLUDE_DIRS} ) @@ -288,7 +286,6 @@ endif(LLCOMMON_LINK_SHARED) target_link_libraries( llcommon - ${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES} ${APRUTIL_LIBRARIES} ${APR_LIBRARIES} ${EXPAT_LIBRARIES} diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index 6064a843ae..a5300adf87 100644 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -46,7 +46,6 @@ #include "llstl.h" // for DeletePointer() #include "llstring.h" #include "lleventtimer.h" -#include "google_breakpad/exception_handler.h" #include "stringize.h" #include "llcleanup.h" #include "llevents.h" @@ -62,12 +61,6 @@ LONG WINAPI default_windows_exception_handler(struct _EXCEPTION_POINTERS *exception_infop); BOOL ConsoleCtrlHandler(DWORD fdwCtrlType); -bool windows_post_minidump_callback(const wchar_t* dump_path, - const wchar_t* minidump_id, - void* context, - EXCEPTION_POINTERS* exinfo, - MDRawAssertionInfo* assertion, - bool succeeded); #else # include # include // for fork() @@ -146,8 +139,6 @@ void LLApp::commonCtor() // Set the application to this instance. sApplication = this; - - mExceptionHandler = 0; // initialize the buffer to write the minidump filename to // (this is used to avoid allocating memory in the crash handler) @@ -177,8 +168,6 @@ LLApp::~LLApp() delete mThreadErrorp; mThreadErrorp = NULL; } - - if(mExceptionHandler != 0) delete mExceptionHandler; SUBSYSTEM_CLEANUP_DBG(LLCommon); } @@ -394,69 +383,6 @@ void LLApp::setupErrorHandling(bool second_instance) #if LL_WINDOWS -#if LL_SEND_CRASH_REPORTS && ! defined(LL_BUGSPLAT) - EnableCrashingOnCrashes(); - - // This sets a callback to handle w32 signals to the console window. - // The viewer shouldn't be affected, sicne its a windowed app. - SetConsoleCtrlHandler( (PHANDLER_ROUTINE) ConsoleCtrlHandler, TRUE); - - // Install the Google Breakpad crash handler for Windows - if(mExceptionHandler == 0) - { - if ( second_instance ) //BUG-5707 Firing teleport from a web browser causes second - { - mExceptionHandler = new google_breakpad::ExceptionHandler( - L"C:\\Temp\\", - 0, //No filter - windows_post_minidump_callback, - 0, - google_breakpad::ExceptionHandler::HANDLER_ALL); //No custom client info. - } - else - { - LL_WARNS() << "adding breakpad exception handler" << LL_ENDL; - - std::wstring wpipe_name; - wpipe_name = mCrashReportPipeStr + wstringize(getPid()); - - const std::wstring wdump_path(utf8str_to_utf16str(mDumpPath)); - - int retries = 30; - for (; retries > 0; --retries) - { - if (mExceptionHandler != 0) delete mExceptionHandler; - - mExceptionHandler = new google_breakpad::ExceptionHandler( - wdump_path, - NULL, //No filter - windows_post_minidump_callback, - 0, - google_breakpad::ExceptionHandler::HANDLER_ALL, - MiniDumpNormal, //Generate a 'normal' minidump. - wpipe_name.c_str(), - NULL); //No custom client info. - if (mExceptionHandler->IsOutOfProcess()) - { - LL_INFOS("CRASHREPORT") << "Successfully attached to Out of Process exception handler." << LL_ENDL; - break; - } - else - { - LL_WARNS("CRASHREPORT") << "Unable to attach to Out of Process exception handler. " << retries << " retries remaining." << LL_ENDL; - ::Sleep(100); //Wait a tick and try again. - } - } - - if (retries == 0) LL_WARNS("CRASHREPORT") << "Unable to attach to Out of Process exception handler." << LL_ENDL; - } - - if (mExceptionHandler) - { - mExceptionHandler->set_handle_debug_exceptions(true); - } - } -#endif // LL_SEND_CRASH_REPORTS && ! defined(LL_BUGSPLAT) #else // ! LL_WINDOWS #if defined(LL_BUGSPLAT) @@ -511,10 +437,6 @@ void LLApp::setupErrorHandling(bool second_instance) } #endif // ! LL_RELEASE_FOR_DOWNLOAD - if(installHandler && (mExceptionHandler == 0)) - { - mExceptionHandler = new google_breakpad::ExceptionHandler(mDumpPath, 0, &unix_post_minidump_callback, 0, true, 0); - } #elif LL_LINUX if(installHandler && (mExceptionHandler == 0)) { @@ -614,31 +536,6 @@ void LLApp::setError() setStatus(APP_STATUS_ERROR); } -void LLApp::setMiniDumpDir(const std::string &path) -{ - if (path.empty()) - { - mDumpPath = "/tmp"; - } - else - { - mDumpPath = path; - } - - if(mExceptionHandler == 0) return; -#ifdef LL_WINDOWS - std::wstring buffer(utf8str_to_utf16str(mDumpPath)); - if (buffer.size() > MAX_MINDUMP_PATH_LENGTH) buffer.resize(MAX_MINDUMP_PATH_LENGTH); - mExceptionHandler->set_dump_path(buffer); -#elif LL_LINUX - //google_breakpad::MinidumpDescriptor desc("/tmp"); //path works in debug fails in production inside breakpad lib so linux gets a little less stack reporting until it is patched. - google_breakpad::MinidumpDescriptor desc(mDumpPath); //path works in debug fails in production inside breakpad lib so linux gets a little less stack reporting until it is patched. - mExceptionHandler->set_minidump_descriptor(desc); -#else - mExceptionHandler->set_dump_path(mDumpPath); -#endif -} - void LLApp::setDebugFileNames(const std::string &path) { mStaticDebugFileName = path + "static_debug_info.log"; @@ -647,8 +544,6 @@ void LLApp::setDebugFileNames(const std::string &path) void LLApp::writeMiniDump() { - if(mExceptionHandler == 0) return; - mExceptionHandler->WriteMinidump(); } // static @@ -705,13 +600,6 @@ bool LLApp::isExiting() void LLApp::disableCrashlogger() { - // Disable Breakpad exception handler. - if (mExceptionHandler != 0) - { - delete mExceptionHandler; - mExceptionHandler = 0; - } - sDisableCrashlogger = TRUE; } @@ -1105,64 +993,3 @@ bool unix_post_minidump_callback(const char *dump_dir, } #endif // !WINDOWS -#ifdef LL_WINDOWS -bool windows_post_minidump_callback(const wchar_t* dump_path, - const wchar_t* minidump_id, - void* context, - EXCEPTION_POINTERS* exinfo, - MDRawAssertionInfo* assertion, - bool succeeded) -{ - char * path = LLApp::instance()->getMiniDumpFilename(); - S32 remaining = LLApp::MAX_MINDUMP_PATH_LENGTH; - size_t bytesUsed; - - LL_INFOS("MINIDUMPCALLBACK") << "Dump file was generated." << LL_ENDL; - bytesUsed = wcstombs(path, dump_path, static_cast(remaining)); - remaining -= bytesUsed; - path += bytesUsed; - if(remaining > 0 && bytesUsed > 0 && path[-1] != '\\') - { - *path++ = '\\'; - --remaining; - } - if(remaining > 0) - { - bytesUsed = wcstombs(path, minidump_id, static_cast(remaining)); - remaining -= bytesUsed; - path += bytesUsed; - } - if(remaining > 0) - { - strncpy(path, ".dmp", remaining); - } - - LL_INFOS("CRASHREPORT") << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << LL_ENDL; - // *NOTE:Mani - this code is stolen from LLApp, where its never actually used. - //OSMessageBox("Attach Debugger Now", "Error", OSMB_OK); - // *TODO: Translate the signals/exceptions into cross-platform stuff - // Windows implementation - LL_INFOS() << "Entering Windows Exception Handler..." << LL_ENDL; - - if (LLApp::isError()) - { - LL_WARNS() << "Got another fatal signal while in the error handler, die now!" << LL_ENDL; - } - - // Flag status to error, so thread_error starts its work - LLApp::setError(); - - // Block in the exception handler until the app has stopped - // This is pretty sketchy, but appears to work just fine - while (!LLApp::isStopped()) - { - ms_sleep(10); - } - -#ifndef LL_RELEASE_FOR_DOWNLOAD - return false; -#else - return true; -#endif -} -#endif diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h index 5fa91b8bf5..83f3bf3f93 100644 --- a/indra/llcommon/llapp.h +++ b/indra/llcommon/llapp.h @@ -49,10 +49,6 @@ void clear_signals(); #endif -namespace google_breakpad { - class ExceptionHandler; // See exception_handler.h -} - class LL_COMMON_API LLApp { friend class LLErrorThread; @@ -236,7 +232,6 @@ public: static const U32 MAX_MINDUMP_PATH_LENGTH = 256; // change the directory where Breakpad minidump files are written to - void setMiniDumpDir(const std::string &path); void setDebugFileNames(const std::string &path); // Return the Google Breakpad minidump filename after a crash. @@ -316,9 +311,6 @@ private: private: // the static application instance if it was created. static LLApp* sApplication; - - google_breakpad::ExceptionHandler * mExceptionHandler; - #if !LL_WINDOWS friend void default_unix_signal_handler(int signum, siginfo_t *info, void *); diff --git a/indra/llcorehttp/CMakeLists.txt b/indra/llcorehttp/CMakeLists.txt index 8bb6a657b1..6a301ad50d 100644 --- a/indra/llcorehttp/CMakeLists.txt +++ b/indra/llcorehttp/CMakeLists.txt @@ -177,7 +177,6 @@ if (DARWIN) set(copy_dylibs libapr-1.0.dylib libaprutil-1.0.dylib - libexception_handler.dylib libnghttp2*.dylib liburiparser*.dylib ${EXPAT_COPY} diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 87caca56af..03d2ea06f0 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1847,10 +1847,6 @@ if (WINDOWS) winmm_shim ) - if (NOT USE_BUGSPLAT) - LIST(APPEND COPY_INPUT_DEPENDENCIES windows-crash-logger) - endif (NOT USE_BUGSPLAT) - if (ADDRESS_SIZE EQUAL 64) list(APPEND COPY_INPUT_DEPENDENCIES ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk_x64.dll @@ -1915,10 +1911,6 @@ if (WINDOWS) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin) - if (NOT USE_BUGSPLAT) - add_dependencies(${VIEWER_BINARY_NAME} windows-crash-logger) - endif (NOT USE_BUGSPLAT) - # sets the 'working directory' for debugging from visual studio. # Condition for version can be moved to requirements once build agents will be updated (see TOOL-3865) if (NOT UNATTENDED) @@ -2271,62 +2263,7 @@ endif (INSTALL) # Note that the conventional VIEWER_SYMBOL_FILE is set by ../../build.sh if (PACKAGE AND (RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING) AND VIEWER_SYMBOL_FILE) - if (NOT USE_BUGSPLAT) - # Breakpad symbol-file generation - set(SYMBOL_SEARCH_DIRS "") - if (WINDOWS) - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") - # slplugin.exe failing symbols dump - need to debug, might have to do with updated version of google breakpad - # set(VIEWER_EXE_GLOBS "${VIEWER_BINARY_NAME}${CMAKE_EXECUTABLE_SUFFIX} slplugin.exe") - set(VIEWER_EXE_GLOBS "${VIEWER_BINARY_NAME}${CMAKE_EXECUTABLE_SUFFIX}") - set(VIEWER_LIB_GLOB "*${CMAKE_SHARED_MODULE_SUFFIX}") - set(VIEWER_COPY_MANIFEST copy_w_viewer_manifest) - endif (WINDOWS) - if (DARWIN) - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") - # *TODO: Generate these search dirs in the cmake files related to each binary. - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/llplugin/slplugin/${CMAKE_CFG_INTDIR}") - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/mac_crash_logger/${CMAKE_CFG_INTDIR}") - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/gstreamer010/${CMAKE_CFG_INTDIR}") - set(VIEWER_EXE_GLOBS "'${product}' SLPlugin") - set(VIEWER_EXE_GLOBS "'${product}' mac-crash-logger") - set(VIEWER_LIB_GLOB "*.dylib") - endif (DARWIN) - if (LINUX) - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/packaged") - set(VIEWER_EXE_GLOBS "do-not-directly-run-secondlife-bin SLPlugin") - set(VIEWER_EXE_GLOBS "do-not-directly-run-secondlife-bin") - set(VIEWER_LIB_GLOB "*${CMAKE_SHARED_MODULE_SUFFIX}*") - set(VIEWER_COPY_MANIFEST copy_l_viewer_manifest) - endif (LINUX) - - if(CMAKE_CFG_INTDIR STREQUAL ".") - set(LLBUILD_CONFIG ${CMAKE_BUILD_TYPE}) - else(CMAKE_CFG_INTDIR STREQUAL ".") - # set LLBUILD_CONFIG to be a shell variable evaluated at build time - # reflecting the configuration we are currently building. - set(LLBUILD_CONFIG ${CMAKE_CFG_INTDIR}) - endif(CMAKE_CFG_INTDIR STREQUAL ".") - add_custom_command(OUTPUT "${VIEWER_SYMBOL_FILE}" - COMMAND "${PYTHON_EXECUTABLE}" - ARGS - "${CMAKE_CURRENT_SOURCE_DIR}/generate_breakpad_symbols.py" - "${LLBUILD_CONFIG}" - "${SYMBOL_SEARCH_DIRS}" - "${VIEWER_EXE_GLOBS}" - "${VIEWER_LIB_GLOB}" - "${AUTOBUILD_INSTALL_DIR}/bin/dump_syms" - "${VIEWER_SYMBOL_FILE}" - DEPENDS generate_breakpad_symbols.py - VERBATIM) - - add_custom_target(generate_symbols DEPENDS "${VIEWER_SYMBOL_FILE}" ${VIEWER_BINARY_NAME} "${VIEWER_COPY_MANIFEST}") - add_dependencies(generate_symbols ${VIEWER_BINARY_NAME}) - if (WINDOWS OR LINUX) - add_dependencies(generate_symbols "${VIEWER_COPY_MANIFEST}") - endif (WINDOWS OR LINUX) - - else (NOT USE_BUGSPLAT) + if (USE_BUGSPLAT) # BugSplat symbol-file generation if (WINDOWS) # Just pack up a tarball containing only the .pdb file for the @@ -2410,7 +2347,7 @@ if (PACKAGE AND (RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING) AND VIE if (LINUX) # TBD endif (LINUX) - endif (NOT USE_BUGSPLAT) + endif (USE_BUGSPLAT) # for both Bugsplat and Breakpad add_dependencies(llpackage generate_symbols) diff --git a/indra/newview/generate_breakpad_symbols.py b/indra/newview/generate_breakpad_symbols.py deleted file mode 100755 index d351c406bc..0000000000 --- a/indra/newview/generate_breakpad_symbols.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/env python -"""\ -@file generate_breakpad_symbols.py -@author Brad Kittenbrink -@brief Simple tool for generating google_breakpad symbol information - for the crash reporter. - -$LicenseInfo:firstyear=2010&license=viewerlgpl$ -Second Life Viewer Source Code -Copyright (C) 2010-2011, Linden Research, Inc. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; -version 2.1 of the License only. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -$/LicenseInfo$ -""" - - -import collections -import fnmatch -import itertools -import os -import re -import sys -import shlex -import subprocess -import tarfile -import StringIO -import pprint - -DEBUG=False - -def usage(): - print >>sys.stderr, "usage: %s search_dirs viewer_exes libs_suffix dump_syms_tool viewer_symbol_file" % sys.argv[0] - -class MissingModuleError(Exception): - def __init__(self, modules): - Exception.__init__(self, "Failed to find required modules: %r" % modules) - self.modules = modules - -def main(configuration, search_dirs, viewer_exes, libs_suffix, dump_syms_tool, viewer_symbol_file): - print "generate_breakpad_symbols run with args: %s" % str((configuration, search_dirs, viewer_exes, libs_suffix, dump_syms_tool, viewer_symbol_file)) - - if not re.match("release", configuration, re.IGNORECASE): - print "skipping breakpad symbol generation for non-release build." - return 0 - - # split up list of viewer_exes - # "'Second Life' SLPlugin" becomes ['Second Life', 'SLPlugin'] - viewer_exes = shlex.split(viewer_exes) - - found_required = dict([(module, False) for module in viewer_exes]) - - def matches(f): - if f in viewer_exes: - found_required[f] = True - return True - return fnmatch.fnmatch(f, libs_suffix) - - search_dirs = search_dirs.split(";") - - def list_files(): - for search_dir in search_dirs: - for (dirname, subdirs, filenames) in os.walk(search_dir): - if DEBUG: - print "scanning '%s' for modules..." % dirname - for f in itertools.ifilter(matches, filenames): - yield os.path.join(dirname, f) - - def dump_module(m): - print "dumping module '%s' with '%s'..." % (m, dump_syms_tool) - dsym_full_path = m - child = subprocess.Popen([dump_syms_tool, dsym_full_path] , stdout=subprocess.PIPE) - out, err = child.communicate() - return (m,child.returncode, out, err) - - - modules = {} - - for m in list_files(): - if DEBUG: - print "examining module '%s' ... " % m, - filename=os.path.basename(m) - if -1 != m.find("DWARF"): - # Just use this module; it has the symbols we want. - modules[filename] = m - if DEBUG: - print "found dSYM entry" - elif filename not in modules: - # Only use this if we don't already have a (possibly better) entry. - modules[filename] = m - if DEBUG: - print "found new entry" - elif DEBUG: - print "ignoring entry" - - - print "Found these following modules:" - pprint.pprint( modules ) - - out = tarfile.open(viewer_symbol_file, 'w:bz2') - for (filename,status,symbols,err) in itertools.imap(dump_module, modules.values()): - if status == 0: - module_line = symbols[:symbols.index('\n')] - module_line = module_line.split() - hash_id = module_line[3] - module = ' '.join(module_line[4:]) - if sys.platform in ['win32', 'cygwin']: - mod_name = module[:module.rindex('.pdb')] - else: - mod_name = module - symbolfile = StringIO.StringIO(symbols) - info = tarfile.TarInfo("%(module)s/%(hash_id)s/%(mod_name)s.sym" % dict(module=module, hash_id=hash_id, mod_name=mod_name)) - info.size = symbolfile.len - out.addfile(info, symbolfile) - else: - print >>sys.stderr, "warning: failed to dump symbols for '%s': %s" % (filename, err) - - out.close() - - missing_modules = [m for (m,_) in - itertools.ifilter(lambda (k,v): not v, found_required.iteritems()) - ] - if missing_modules: - print >> sys.stderr, "failed to generate %s" % viewer_symbol_file - os.remove(viewer_symbol_file) - raise MissingModuleError(missing_modules) - - symbols = tarfile.open(viewer_symbol_file, 'r:bz2') - tarfile_members = symbols.getnames() - symbols.close() - - for required_module in viewer_exes: - def match_module_basename(m): - return os.path.splitext(required_module)[0].lower() \ - == os.path.splitext(os.path.basename(m))[0].lower() - # there must be at least one .sym file in tarfile_members that matches - # each required module (ignoring file extensions) - if not any(itertools.imap(match_module_basename, tarfile_members)): - print >> sys.stderr, "failed to find required %s in generated %s" \ - % (required_module, viewer_symbol_file) - os.remove(viewer_symbol_file) - raise MissingModuleError([required_module]) - - print "successfully generated %s including required modules '%s'" % (viewer_symbol_file, viewer_exes) - - return 0 - -if __name__ == "__main__": - if len(sys.argv) != 7: - usage() - sys.exit(1) - sys.exit(main(*sys.argv[1:])) - diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index ccd9e76f53..fe844cfa57 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -739,7 +739,7 @@ LLAppViewer::LLAppViewer() std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_DUMP, ""); # endif // ! LL_BUGSPLAT mDumpPath = logdir; - setMiniDumpDir(logdir); + setDebugFileNames(logdir); } diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 0afb70958c..95f6efa29a 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -109,7 +109,6 @@ public: virtual bool restoreErrorTrap() = 0; // Require platform specific override to reset error handling mechanism. // return false if the error trap needed restoration. - virtual void initCrashReporting(bool reportFreeze = false) = 0; // What to do with crash report? static void handleViewerCrash(); // Hey! The viewer crashed. Do this, soon. void checkForCrash(); diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp index 42946e4415..7be5f8117c 100644 --- a/indra/newview/llappviewermacosx.cpp +++ b/indra/newview/llappviewermacosx.cpp @@ -347,28 +347,6 @@ bool LLAppViewerMacOSX::restoreErrorTrap() return reset_count == 0; } -void LLAppViewerMacOSX::initCrashReporting(bool reportFreeze) -{ -#if defined LL_BUGSPLAT - LL_DEBUGS("InitOSX", "Bugsplat") << "using BugSplat crash logger" << LL_ENDL; -#elif LL_SEND_CRASH_REPORTS - LL_DEBUGS("InitOSX") << "Initializing legacy crash logger" << LL_ENDL; - std::string command_str = "mac-crash-logger.app"; - - std::stringstream pid_str; - pid_str << LLApp::getPid(); - std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_DUMP, ""); - std::string appname = gDirUtilp->getExecutableFilename(); - std::string str[] = { "-pid", pid_str.str(), "-dumpdir", logdir, "-procname", appname.c_str() }; - std::vector< std::string > args( str, str + ( sizeof ( str ) / sizeof ( std::string ) ) ); - LL_WARNS() << "about to launch mac-crash-logger" << pid_str.str() - << " " << logdir << " " << appname << LL_ENDL; - launchApplication(&command_str, &args); -#else - LL_DEBUGS("InitOSX") << "No crash logger enabled" << LL_ENDL; -#endif // ! LL_BUGSPLAT -} - std::string LLAppViewerMacOSX::generateSerialNumber() { char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore diff --git a/indra/newview/llappviewermacosx.h b/indra/newview/llappviewermacosx.h index d5a80864be..b0e325a955 100644 --- a/indra/newview/llappviewermacosx.h +++ b/indra/newview/llappviewermacosx.h @@ -44,7 +44,6 @@ public: protected: virtual bool restoreErrorTrap(); - virtual void initCrashReporting(bool reportFreeze); std::string generateSerialNumber(); virtual bool initParseCommandLine(LLCommandLineParser& clp); diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index 9daea515e5..25d18fa11f 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -599,9 +599,6 @@ bool LLAppViewerWin32::init() #if ! defined(LL_BUGSPLAT) #pragma message("Building without BugSplat") - LLAppViewer* pApp = LLAppViewer::instance(); - pApp->initCrashReporting(); - #else // LL_BUGSPLAT #pragma message("Building with BugSplat") @@ -846,57 +843,6 @@ bool LLAppViewerWin32::restoreErrorTrap() return true; // we don't check for handler collisions on windows, so just say they're ok } -void LLAppViewerWin32::initCrashReporting(bool reportFreeze) -{ - if (isSecondInstance()) return; //BUG-5707 do not start another crash reporter for second instance. - - const char* logger_name = "win_crash_logger.exe"; - std::string exe_path = gDirUtilp->getExecutableDir(); - exe_path += gDirUtilp->getDirDelimiter(); - exe_path += logger_name; - - std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_DUMP, ""); - std::string appname = gDirUtilp->getExecutableFilename(); - - S32 slen = logdir.length() -1; - S32 end = slen; - while (logdir.at(end) == '/' || logdir.at(end) == '\\') end--; - - if (slen !=end) - { - logdir = logdir.substr(0,end+1); - } - //std::string arg_str = "\"" + exe_path + "\" -dumpdir \"" + logdir + "\" -procname \"" + appname + "\" -pid " + stringize(LLApp::getPid()); - //_spawnl(_P_NOWAIT, exe_path.c_str(), arg_str.c_str(), NULL); - std::string arg_str = "\"" + exe_path + "\" -dumpdir \"" + logdir + "\" -procname \"" + appname + "\" -pid " + stringize(LLApp::getPid()); - - STARTUPINFO startInfo={sizeof(startInfo)}; - PROCESS_INFORMATION processInfo; - - std::wstring exe_wstr; - exe_wstr = utf8str_to_utf16str(exe_path); - - std::wstring arg_wstr; - arg_wstr = utf8str_to_utf16str(arg_str); - - LL_INFOS("CrashReport") << "Creating crash reporter process " << exe_path << " with params: " << arg_str << LL_ENDL; - if(CreateProcess(exe_wstr.c_str(), - &arg_wstr[0], // Application arguments - 0, - 0, - FALSE, - CREATE_DEFAULT_ERROR_MODE, - 0, - 0, // Working directory - &startInfo, - &processInfo) == FALSE) - // Could not start application -> call 'GetLastError()' - { - LL_WARNS("CrashReport") << "CreateProcess failed " << GetLastError() << LL_ENDL; - return; - } -} - //virtual bool LLAppViewerWin32::sendURLToOtherInstance(const std::string& url) { diff --git a/indra/newview/llappviewerwin32.h b/indra/newview/llappviewerwin32.h index 83ae875a15..ab52bf15f9 100644 --- a/indra/newview/llappviewerwin32.h +++ b/indra/newview/llappviewerwin32.h @@ -53,7 +53,6 @@ protected: bool beingDebugged() override; bool restoreErrorTrap() override; - void initCrashReporting(bool reportFreeze) override; bool sendURLToOtherInstance(const std::string& url) override; diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 41da8fa328..eb5071c2b8 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1025,7 +1025,6 @@ class DarwinManifest(ViewerManifest): "libapr-1.0.dylib", "libaprutil-1.0.dylib", "libexpat.1.dylib", - "libexception_handler.dylib", "libGLOD.dylib", # libnghttp2.dylib is a symlink to # libnghttp2.major.dylib, which is a symlink to diff --git a/indra/win_crash_logger/CMakeLists.txt b/indra/win_crash_logger/CMakeLists.txt deleted file mode 100644 index 86aa655f03..0000000000 --- a/indra/win_crash_logger/CMakeLists.txt +++ /dev/null @@ -1,105 +0,0 @@ -# -*- cmake -*- - -project(win_crash_logger) - -include(00-Common) -include(LLCommon) -include(LLCoreHttp) -include(LLCrashLogger) -include(LLMath) -include(LLMessage) -include(LLVFS) -include(LLWindow) -include(LLXML) -include(Linking) -include(LLSharedLibs) -include(GoogleBreakpad) -include(Boost) - -include_directories( - ${LLCOREHTTP_INCLUDE_DIRS} - ${LLCOMMON_INCLUDE_DIRS} - ${LLCRASHLOGGER_INCLUDE_DIRS} - ${LLMATH_INCLUDE_DIRS} - ${LLWINDOW_INCLUDE_DIRS} - ${LLXML_INCLUDE_DIRS} - ${LLVFS_INCLUDE_DIRS} - ${BREAKPAD_INCLUDE_DIRECTORIES} - ) -include_directories(SYSTEM - ${LLCOMMON_SYSTEM_INCLUDE_DIRS} - ${LLXML_SYSTEM_INCLUDE_DIRS} - ) - -set(win_crash_logger_SOURCE_FILES - win_crash_logger.cpp - llcrashloggerwindows.cpp - ) - -set(win_crash_logger_HEADER_FILES - CMakeLists.txt - - llcrashloggerwindows.h - resource.h - StdAfx.h - win_crash_logger.h - ) - -set_source_files_properties(${win_crash_logger_HEADER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -set(win_crash_logger_RESOURCE_FILES - ll_icon.ico - ) - -set_source_files_properties(${win_crash_logger_RESOURCE_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -set(win_crash_logger_RESOURCE_FILES - win_crash_logger.rc - ${win_crash_logger_RESOURCE_FILES} - ) - -SOURCE_GROUP("Resource Files" FILES ${win_crash_logger_RESOURCE_FILES}) - -list(APPEND - win_crash_logger_SOURCE_FILES - ${win_crash_logger_HEADER_FILES} - ${win_crash_logger_RESOURCE_FILES} - ) - -add_executable(windows-crash-logger WIN32 ${win_crash_logger_SOURCE_FILES}) - - -target_link_libraries(windows-crash-logger - ${LEGACY_STDIO_LIBS} - ${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES} - ${LLCRASHLOGGER_LIBRARIES} - ${LLWINDOW_LIBRARIES} - ${LLVFS_LIBRARIES} - ${LLXML_LIBRARIES} - ${LLMESSAGE_LIBRARIES} - ${LLMATH_LIBRARIES} - ${LLCOREHTTP_LIBRARIES} - ${LLCOMMON_LIBRARIES} - ${BOOST_CONTEXT_LIBRARY} - ${BOOST_FIBER_LIBRARY} - ${WINDOWS_LIBRARIES} - dxguid - ${GOOGLE_PERFTOOLS_LIBRARIES} - user32 - gdi32 - oleaut32 - wininet - Wldap32 - ) - -if (WINDOWS) - set_target_properties(windows-crash-logger - PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:LIBCMT" - LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\"" - ) -endif (WINDOWS) - -ll_deploy_sharedlibs_command(windows-crash-logger) diff --git a/indra/win_crash_logger/StdAfx.cpp b/indra/win_crash_logger/StdAfx.cpp deleted file mode 100644 index f56711af73..0000000000 --- a/indra/win_crash_logger/StdAfx.cpp +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @file StdAfx.cpp - * @brief windows crash logger source file for includes - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -// stdafx.cpp : source file that includes just the standard includes -// win_crash_logger.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/indra/win_crash_logger/StdAfx.h b/indra/win_crash_logger/StdAfx.h deleted file mode 100644 index 35976658ac..0000000000 --- a/indra/win_crash_logger/StdAfx.h +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @file StdAfx.h - * @brief standard system includes - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) -#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers - -// Windows Header Files: -#include - -// C RunTime Header Files -#include -#include -#include - -// Local Header Files - -// TODO: reference additional headers your program requires here - -//{{AFX_INSERT_LOCATION}} -// Microsoft Visual C++ will insert additional declarations immediately before the previous line. - -#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) diff --git a/indra/win_crash_logger/ll_icon.ico b/indra/win_crash_logger/ll_icon.ico deleted file mode 100644 index 566346dfe301eec04d1fb819ecec2f2dd8d2483c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2238 zcmc&!-ES0C96fhtciXi#L~4tniK1>MzL=O0o*E+oAB;3H(P{_^u|O#W+q>H@XlbRT z*&?M~`aMv(?G|WlM{S7%J|Hy_1D4^VxNZ~s*gt}VH#~QCci2Ys)jPR!cYYuDob&tL zyMW-cWeeOfn-7%m*IS%hIJa{O(8$r@bC-3m!mV3T_`yzyfuDhyByiy#MD!Zacmdkp zR*2s3vADR17s}p;s67u+AA>maBM`rZyd59WHVz~lh}aGITE@8k0`dCW!1x`A#%XNa z{06j^d1zlTZ}3;3;Uao_d!a>t050B#=($CVpWy$Z4x;TU%FD~4M=iwTaR?s?M-mX5 zLlEH+yu7gpIR85^_7J`kL;kYtI)-Q;%u&}TIj4pBBC+8{XHSBTKIK+wT@HNJe z|8Wg@@!X9)BKL>DrDdKWp6R9pG)`Z&3E!c9VD>Ngk4^&3Q|#3wxlAJ(jY4CuMC=+i z6>owT9>wFwj~P!p&(f18PayhkV{L7Xb!FbUy9n%yL96XTOG^uUhr4)Iy5Rq`587Ft z)6Y)xE?h$KYi}}slIO1tsGZ|IypG`ZT4*P2V1T`AU=Q}6M(|)0{8b(BH}H-%lk@3C zVCXjVL#;exH=zyABk*Azg5_TVFO?urUWwp)N0Gm)9s0?68o - -#include "boost/tokenizer.hpp" - -#include "indra_constants.h" // CRASH_BEHAVIOR_ASK, CRASH_SETTING_NAME -#include "llerror.h" -#include "llfile.h" -#include "lltimer.h" -#include "llstring.h" -#include "lldxhardware.h" -#include "lldir.h" -#include "llsdserialize.h" -#include "llsdutil.h" -#include "stringize.h" - -#include -#include - -#define MAX_LOADSTRING 100 -#define MAX_STRING 2048 -const char* const SETTINGS_FILE_HEADER = "version"; -const S32 SETTINGS_FILE_VERSION = 101; - -// Windows Message Handlers - -// Global Variables: -HINSTANCE hInst= NULL; // current instance -TCHAR szTitle[MAX_LOADSTRING]; /* Flawfinder: ignore */ // The title bar text -TCHAR szWindowClass[MAX_LOADSTRING]; /* Flawfinder: ignore */ // The title bar text - -std::string gProductName; -HWND gHwndReport = NULL; // Send/Don't Send dialog -HWND gHwndProgress = NULL; // Progress window -HCURSOR gCursorArrow = NULL; -HCURSOR gCursorWait = NULL; -BOOL gFirstDialog = TRUE; // Are we currently handling the Send/Don't Send dialog? -std::stringstream gDXInfo; -bool gSendLogs = false; - -LLCrashLoggerWindows* LLCrashLoggerWindows::sInstance = NULL; - -//Conversion from char* to wchar* -//Replacement for ATL macros, doesn't allocate memory -//For more info see: http://www.codeguru.com/forum/showthread.php?t=337247 -void ConvertLPCSTRToLPWSTR (const char* pCstring, WCHAR* outStr) -{ - if (pCstring != NULL) - { - int nInputStrLen = strlen (pCstring); - // Double NULL Termination - int nOutputStrLen = MultiByteToWideChar(CP_ACP, 0, pCstring, nInputStrLen, NULL, 0) + 2; - if (outStr) - { - memset (outStr, 0x00, sizeof (WCHAR)*nOutputStrLen); - MultiByteToWideChar (CP_ACP, 0, pCstring, nInputStrLen, outStr, nInputStrLen); - } - } -} - -void write_debug(const char *str) -{ - gDXInfo << str; /* Flawfinder: ignore */ -} - -void write_debug(std::string& str) -{ - write_debug(str.c_str()); -} - -void show_progress(const std::string& message) -{ - std::wstring msg = wstring_to_utf16str(utf8str_to_wstring(message)); - if (gHwndProgress) - { - SendDlgItemMessage(gHwndProgress, // handle to destination window - IDC_LOG, - WM_SETTEXT, // message to send - FALSE, // undo option - (LPARAM)msg.c_str()); - } -} - -void update_messages() -{ - MSG msg; - while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) - { - if (msg.message == WM_QUIT) - { - exit(0); - } - TranslateMessage(&msg); - DispatchMessage(&msg); - } -} - -void sleep_and_pump_messages( U32 seconds ) -{ - const U32 CYCLES_PER_SECOND = 10; - U32 cycles = seconds * CYCLES_PER_SECOND; - while( cycles-- ) - { - update_messages(); - ms_sleep(1000 / CYCLES_PER_SECOND); - } -} - -// Include product name in the window caption. -void LLCrashLoggerWindows::ProcessCaption(HWND hWnd) -{ - TCHAR templateText[MAX_STRING]; /* Flawfinder: ignore */ - TCHAR header[MAX_STRING]; - std::string final; - GetWindowText(hWnd, templateText, sizeof(templateText)); - final = llformat(ll_convert_wide_to_string(templateText, CP_ACP).c_str(), gProductName.c_str()); - ConvertLPCSTRToLPWSTR(final.c_str(), header); - SetWindowText(hWnd, header); -} - - -// Include product name in the diaog item text. -void LLCrashLoggerWindows::ProcessDlgItemText(HWND hWnd, int nIDDlgItem) -{ - TCHAR templateText[MAX_STRING]; /* Flawfinder: ignore */ - TCHAR header[MAX_STRING]; - std::string final; - GetDlgItemText(hWnd, nIDDlgItem, templateText, sizeof(templateText)); - final = llformat(ll_convert_wide_to_string(templateText, CP_ACP).c_str(), gProductName.c_str()); - ConvertLPCSTRToLPWSTR(final.c_str(), header); - SetDlgItemText(hWnd, nIDDlgItem, header); -} - -bool handle_button_click(WORD button_id) -{ - // Is this something other than Send or Don't Send? - if (button_id != IDOK - && button_id != IDCANCEL) - { - return false; - } - - // We're done with this dialog. - gFirstDialog = FALSE; - - // Send the crash report if requested - if (button_id == IDOK) - { - gSendLogs = TRUE; - WCHAR wbuffer[20000]; - GetDlgItemText(gHwndReport, // handle to dialog box - IDC_EDIT1, // control identifier - wbuffer, // pointer to buffer for text - 20000 // maximum size of string - ); - std::string user_text(ll_convert_wide_to_string(wbuffer, CP_ACP)); - // Activate and show the window. - ShowWindow(gHwndProgress, SW_SHOW); - // Try doing this second to make the progress window go frontmost. - ShowWindow(gHwndReport, SW_HIDE); - ((LLCrashLoggerWindows*)LLCrashLogger::instance())->setUserText(user_text); - ((LLCrashLoggerWindows*)LLCrashLogger::instance())->sendCrashLogs(); - } - // Quit the app - LLApp::setQuitting(); - return true; -} - - -LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) -{ - switch( message ) - { - case WM_CREATE: - return 0; - - case WM_COMMAND: - if( gFirstDialog ) - { - WORD button_id = LOWORD(wParam); - bool handled = handle_button_click(button_id); - if (handled) - { - return 0; - } - } - break; - - case WM_DESTROY: - // Closing the window cancels - LLApp::setQuitting(); - PostQuitMessage(0); - return 0; - } - - return DefWindowProc(hwnd, message, wParam, lParam); -} - - -LLCrashLoggerWindows::LLCrashLoggerWindows(void) -{ - if (LLCrashLoggerWindows::sInstance==NULL) - { - sInstance = this; - } -} - -LLCrashLoggerWindows::~LLCrashLoggerWindows(void) -{ - sInstance = NULL; -} - -bool LLCrashLoggerWindows::getMessageWithTimeout(MSG *msg, UINT to) -{ - bool res; - UINT_PTR timerID = SetTimer(NULL, NULL, to, NULL); - res = GetMessage(msg, NULL, 0, 0); - KillTimer(NULL, timerID); - if (!res) - return false; - if (msg->message == WM_TIMER && msg->hwnd == NULL && msg->wParam == 1) - return false; //TIMEOUT! You could call SetLastError() or something... - return true; -} - -int LLCrashLoggerWindows::processingLoop() { - const int millisecs=1000; - int retries = 0; - const int max_retries = 60; - - LL_DEBUGS("CRASHREPORT") << "Entering processing loop for OOP server" << LL_ENDL; - - LLSD options = getOptionData( LLApp::PRIORITY_COMMAND_LINE ); - - MSG msg; - - bool result; - - while (1) - { - result = getMessageWithTimeout(&msg, millisecs); - if ( result ) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - - if ( retries < max_retries ) //Wait up to 1 minute for the viewer to say hello. - { - if (mClientsConnected == 0) - { - LL_DEBUGS("CRASHREPORT") << "Waiting for client to connect." << LL_ENDL; - ++retries; - } - else - { - LL_INFOS("CRASHREPORT") << "Client has connected!" << LL_ENDL; - retries = max_retries; - } - } - else - { - if (mClientsConnected == 0) - { - break; - } - if (!mKeyMaster.isProcessAlive(mPID, mProcName) ) - { - break; - } - } - } - - LL_INFOS() << "session ending.." << LL_ENDL; - - std::string per_run_dir = options["dumpdir"].asString(); - std::string per_run_file = per_run_dir + "\\SecondLife.log"; - std::string log_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"SecondLife.log"); - - if (gDirUtilp->fileExists(per_run_dir)) - { - LL_INFOS ("CRASHREPORT") << "Copying " << log_file << " to " << per_run_file << LL_ENDL; - LLFile::copy(log_file, per_run_file); - } - return 0; -} - - -void LLCrashLoggerWindows::OnClientConnected(void* context, - const google_breakpad::ClientInfo* client_info) -{ - sInstance->mClientsConnected++; - LL_INFOS("CRASHREPORT") << "Client connected. pid = " << client_info->pid() << " total clients " << sInstance->mClientsConnected << LL_ENDL; -} - -void LLCrashLoggerWindows::OnClientExited(void* context, - const google_breakpad::ClientInfo* client_info) -{ - sInstance->mClientsConnected--; - LL_INFOS("CRASHREPORT") << "Client disconnected. pid = " << client_info->pid() << " total clients " << sInstance->mClientsConnected << LL_ENDL; -} - - -void LLCrashLoggerWindows::OnClientDumpRequest(void* context, - const google_breakpad::ClientInfo* client_info, - const std::wstring* file_path) -{ - if (!file_path) - { - LL_WARNS() << "dump with no file path" << LL_ENDL; - return; - } - if (!client_info) - { - LL_WARNS() << "dump with no client info" << LL_ENDL; - return; - } - - LLCrashLoggerWindows* self = static_cast(context); - if (!self) - { - LL_WARNS() << "dump with no context" << LL_ENDL; - return; - } - - //DWORD pid = client_info->pid(); -} - - -bool LLCrashLoggerWindows::initCrashServer() -{ - //For Breakpad on Windows we need a full Out of Process service to get good data. - //This routine starts up the service on a named pipe that the viewer will then - //communicate with. - using namespace google_breakpad; - - LLSD options = getOptionData( LLApp::PRIORITY_COMMAND_LINE ); - std::string dump_path = options["dumpdir"].asString(); - mClientsConnected = 0; - mPID = options["pid"].asInteger(); - mProcName = options["procname"].asString(); - - //Generate a quasi-uniq name for the named pipe. For our purposes - //this is unique-enough with least hassle. Worst case for duplicate name - //is a second instance of the viewer will not do crash reporting. - std::wstring wpipe_name; - wpipe_name = mCrashReportPipeStr + std::wstring(wstringize(mPID)); - - std::wstring wdump_path(utf8str_to_utf16str(dump_path)); - - //Pipe naming conventions: http://msdn.microsoft.com/en-us/library/aa365783%28v=vs.85%29.aspx - mCrashHandler = new CrashGenerationServer( wpipe_name, - NULL, - &LLCrashLoggerWindows::OnClientConnected, this, - /*NULL, NULL, */ &LLCrashLoggerWindows::OnClientDumpRequest, this, - &LLCrashLoggerWindows::OnClientExited, this, - NULL, NULL, - true, &wdump_path); - - if (!mCrashHandler) { - //Failed to start the crash server. - LL_WARNS() << "Failed to init crash server." << LL_ENDL; - return false; - } - - // Start servicing clients. - if (!mCrashHandler->Start()) { - LL_WARNS() << "Failed to start crash server." << LL_ENDL; - return false; - } - - LL_INFOS("CRASHREPORT") << "Initialized OOP server with pipe named " << stringize(wpipe_name) << LL_ENDL; - return true; -} - -bool LLCrashLoggerWindows::init(void) -{ - bool ok = LLCrashLogger::init(); - if(!ok) return false; - - initCrashServer(); - - /* - mbstowcs( gProductName, mProductName.c_str(), LL_ARRAY_SIZE(gProductName) ); - gProductName[ LL_ARRY_SIZE(gProductName) - 1 ] = 0; - swprintf(gProductName, L"Second Life"); - */ - - LL_INFOS() << "Loading dialogs" << LL_ENDL; - - // Initialize global strings - LoadString(mhInst, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); - LoadString(mhInst, IDC_WIN_CRASH_LOGGER, szWindowClass, MAX_LOADSTRING); - - gCursorArrow = LoadCursor(NULL, IDC_ARROW); - gCursorWait = LoadCursor(NULL, IDC_WAIT); - - // Register a window class that will be used by our dialogs - WNDCLASS wndclass; - wndclass.style = CS_HREDRAW | CS_VREDRAW; - wndclass.lpfnWndProc = WndProc; - wndclass.cbClsExtra = 0; - wndclass.cbWndExtra = DLGWINDOWEXTRA; // Required, since this is used for dialogs! - wndclass.hInstance = mhInst; - wndclass.hIcon = LoadIcon(hInst, MAKEINTRESOURCE( IDI_WIN_CRASH_LOGGER ) ); - wndclass.hCursor = gCursorArrow; - wndclass.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1); - wndclass.lpszMenuName = NULL; - wndclass.lpszClassName = szWindowClass; - RegisterClass( &wndclass ); - - return true; -} - -void LLCrashLoggerWindows::gatherPlatformSpecificFiles() -{ - updateApplication("Gathering hardware information. App may appear frozen."); - // DX hardware probe blocks, so we can't cancel during it - //Generate our dx_info.log file - SetCursor(gCursorWait); - // At this point we're responsive enough the user could click the close button - SetCursor(gCursorArrow); - //mDebugLog["DisplayDeviceInfo"] = gDXHardware.getDisplayInfo(); //Not initialized. -} - -bool LLCrashLoggerWindows::frame() -{ - LL_INFOS() << "CrashSubmitBehavior is " << mCrashBehavior << LL_ENDL; - - // Note: parent hwnd is 0 (the desktop). No dlg proc. See Petzold (5th ed) HexCalc example, Chapter 11, p529 - // win_crash_logger.rc has been edited by hand. - // Dialogs defined with CLASS "WIN_CRASH_LOGGER" (must be same as szWindowClass) - gProductName = mProductName; - gHwndProgress = CreateDialog(hInst, MAKEINTRESOURCE(IDD_PROGRESS), 0, NULL); - ProcessCaption(gHwndProgress); - ShowWindow(gHwndProgress, SW_HIDE ); - - if (mCrashBehavior == CRASH_BEHAVIOR_ALWAYS_SEND) - { - LL_INFOS() << "Showing crash report submit progress window." << LL_ENDL; - //ShowWindow(gHwndProgress, SW_SHOW ); Maint-5707 - sendCrashLogs(); - } - else if (mCrashBehavior == CRASH_BEHAVIOR_ASK) - { - gHwndReport = CreateDialog(hInst, MAKEINTRESOURCE(IDD_PREVREPORTBOX), 0, NULL); - // Ignore result - (void) SendDlgItemMessage(gHwndReport, IDC_CHECK_AUTO, BM_SETCHECK, 0, 0); - // Include the product name in the caption and various dialog items. - ProcessCaption(gHwndReport); - ProcessDlgItemText(gHwndReport, IDC_STATIC_MSG); - - // Update the header to include whether or not we crashed on the last run. - std::string headerStr; - TCHAR header[MAX_STRING]; - if (mCrashInPreviousExec) - { - headerStr = llformat("%s appears to have crashed or frozen the last time it ran.", mProductName.c_str()); - } - else - { - headerStr = llformat("%s appears to have crashed.", mProductName.c_str()); - } - ConvertLPCSTRToLPWSTR(headerStr.c_str(), header); - SetDlgItemText(gHwndReport, IDC_STATIC_HEADER, header); - ShowWindow(gHwndReport, SW_SHOW ); - - MSG msg; - memset(&msg, 0, sizeof(msg)); - while (!LLApp::isExiting() && GetMessage(&msg, NULL, 0, 0)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - return true; // msg.wParam; - } - else - { - LL_WARNS() << "Unknown crash behavior " << mCrashBehavior << LL_ENDL; - return true; // 1; - } - return true; // 0; -} - -void LLCrashLoggerWindows::updateApplication(const std::string& message) -{ - LLCrashLogger::updateApplication(message); - if(!message.empty()) show_progress(message); - update_messages(); -} - -bool LLCrashLoggerWindows::cleanup() -{ - if(gSendLogs) - { - if(mSentCrashLogs) show_progress("Done"); - else show_progress("Could not connect to servers, logs not sent"); - sleep_and_pump_messages(3); - } - PostQuitMessage(0); - commonCleanup(); - mKeyMaster.releaseMaster(); - return true; -} - diff --git a/indra/win_crash_logger/llcrashloggerwindows.h b/indra/win_crash_logger/llcrashloggerwindows.h deleted file mode 100644 index f89b8708dc..0000000000 --- a/indra/win_crash_logger/llcrashloggerwindows.h +++ /dev/null @@ -1,86 +0,0 @@ -/** -* @file llcrashloggerwindows.h -* @brief Windows crash logger definition -* -* $LicenseInfo:firstyear=2003&license=viewerlgpl$ -* Second Life Viewer Source Code -* Copyright (C) 2010, Linden Research, Inc. -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; -* version 2.1 of the License only. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -* -* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -* $/LicenseInfo$ -*/ - -#ifndef LLCRASHLOGGERWINDOWS_H -#define LLCRASHLOGGERWINDOWS_H - -#include "llcrashlogger.h" -#include "windows.h" -#include "llstring.h" - -class LLSD; - -namespace google_breakpad { - class CrashGenerationServer; - class ClientInfo; -} - -class LLCrashLoggerWindows : public LLCrashLogger -{ -public: - LLCrashLoggerWindows(void); - ~LLCrashLoggerWindows(void); - static LLCrashLoggerWindows* sInstance; - - virtual bool init(); - virtual bool frame(); - virtual void updateApplication(const std::string& message = LLStringUtil::null); - virtual bool cleanup(); - virtual void gatherPlatformSpecificFiles(); - void setHandle(HINSTANCE hInst) { mhInst = hInst; } - int clients_connected() const { - return mClientsConnected; - } - bool getMessageWithTimeout(MSG *msg, UINT to); - - // Starts the processing loop. This function does not return unless the - // user is logging off or the user closes the crash service window. The - // return value is a good number to pass in ExitProcess(). - int processingLoop(); -private: - void ProcessDlgItemText(HWND hWnd, int nIDDlgItem); - void ProcessCaption(HWND hWnd); - bool initCrashServer(); - google_breakpad::CrashGenerationServer* mCrashHandler; - static void OnClientConnected(void* context, - const google_breakpad::ClientInfo* client_info); - - static void OnClientDumpRequest( - void* context, - const google_breakpad::ClientInfo* client_info, - const std::wstring* file_path); - - static void OnClientExited(void* context, - const google_breakpad::ClientInfo* client_info); - int mClientsConnected; - int mPID; - std::string mProcName; - - HINSTANCE mhInst; - -}; - -#endif diff --git a/indra/win_crash_logger/resource.h b/indra/win_crash_logger/resource.h deleted file mode 100644 index 37a387275e..0000000000 --- a/indra/win_crash_logger/resource.h +++ /dev/null @@ -1,63 +0,0 @@ -/** -* @file resource.h -* @brief Windows crash logger windows resources -* -* $LicenseInfo:firstyear=2003&license=viewerlgpl$ -* Second Life Viewer Source Code -* Copyright (C) 2010, Linden Research, Inc. -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; -* version 2.1 of the License only. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -* -* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -* $/LicenseInfo$ -*/ - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by win_crash_logger.rc -// -#define IDC_MYICON 2 -#define IDD_REPORT 9 -#define IDD_WIN_CRASH_LOGGER_DIALOG 102 -#define IDD_ABOUTBOX 103 -#define IDS_APP_TITLE 103 -#define IDM_ABOUT 104 -#define IDM_EXIT 105 -#define IDS_HELLO 106 -#define IDI_WIN_CRASH_LOGGER 107 -#define IDI_SMALL 108 -#define IDC_WIN_CRASH_LOGGER 109 -#define IDR_MAINFRAME 128 -#define IDD_PROGRESS 129 -#define IDD_PREVREPORTBOX 130 -#define IDC_EDIT1 1000 -#define IDC_LOG 1004 -#define IDC_CHECK_AUTO 1006 -#define IDC_STATIC_HEADER 1007 -#define IDC_STATIC_WHATINFO 1008 -#define IDC_STATIC_MOTIVATION 1009 -#define IDC_STATIC_MSG 1010 -#define IDC_STATIC -1 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 131 -#define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1011 -#define _APS_NEXT_SYMED_VALUE 110 -#endif -#endif diff --git a/indra/win_crash_logger/win_crash_logger.cpp b/indra/win_crash_logger/win_crash_logger.cpp deleted file mode 100644 index 58746eba02..0000000000 --- a/indra/win_crash_logger/win_crash_logger.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @file win_crash_logger.cpp - * @brief Windows crash logger implementation - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "linden_common.h" -#include "stdafx.h" -#include -#include "llcrashloggerwindows.h" - -#ifdef _UNICODE -int APIENTRY wWinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPWSTR lpCmdLine, - int nCmdShow) -#else -int APIENTRY WinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPSTR lpCmdLine, - int nCmdShow) -#endif //_UNICODE -{ - LL_INFOS() << "Starting crash reporter with args" << &lpCmdLine << LL_ENDL; - LLCrashLoggerWindows app; - app.setHandle(hInstance); -#ifdef _UNICODE - app.parseCommandOptions(__argc, __wargv); -#else - app.parseCommandOptions(__argc, __argv); -#endif //_UNICODE - - LLSD options = LLApp::instance()->getOptionData( - LLApp::PRIORITY_COMMAND_LINE); - if (!(options.has("pid") && options.has("dumpdir"))) - { - LL_WARNS() << "Insufficient parameters to crash report." << LL_ENDL; - } - if (! app.init()) - { - LL_WARNS() << "Unable to initialize application." << LL_ENDL; - return -1; - } - - app.processingLoop(); - app.frame(); - app.cleanup(); - LL_INFOS() << "Crash reporter finished normally." << LL_ENDL; - return 0; -} diff --git a/indra/win_crash_logger/win_crash_logger.h b/indra/win_crash_logger/win_crash_logger.h deleted file mode 100644 index 2cc2cf3dcf..0000000000 --- a/indra/win_crash_logger/win_crash_logger.h +++ /dev/null @@ -1,38 +0,0 @@ -/** - * @file win_crash_logger.h - * @brief Windows crash logger project includes - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - - -#if !defined(AFX_WIN_CRASH_LOGGER_H__79802F4B_7C37_4F63_A2BB_0768788C3A27__INCLUDED_) -#define AFX_WIN_CRASH_LOGGER_H__79802F4B_7C37_4F63_A2BB_0768788C3A27__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#include "resource.h" - - -#endif // !defined(AFX_WIN_CRASH_LOGGER_H__79802F4B_7C37_4F63_A2BB_0768788C3A27__INCLUDED_) diff --git a/indra/win_crash_logger/win_crash_logger.ico b/indra/win_crash_logger/win_crash_logger.ico deleted file mode 100644 index 386883523bcc032db77b69b047cbc5c15ae3b7fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmeH_K@!3s3`IZHwe$$AoF2oYaWszOk{jR)NR>_(PRDWOZgV)&%Zp6VccBVa2?uQ&sh9LW;!?J w2dwKn!S@jnH5GJS10MR3&V{nkc?%F^XS#jrb=7ItXV>BJ*yg?&H~)SR4}%AClK=n! diff --git a/indra/win_crash_logger/win_crash_logger.rc b/indra/win_crash_logger/win_crash_logger.rc deleted file mode 100755 index 2819722f63..0000000000 --- a/indra/win_crash_logger/win_crash_logger.rc +++ /dev/null @@ -1,188 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#define APSTUDIO_HIDDEN_SYMBOLS -#include "windows.h" -#undef APSTUDIO_HIDDEN_SYMBOLS -#include "resource.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_WIN_CRASH_LOGGER ICON "ll_icon.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDC_WIN_CRASH_LOGGER MENU -BEGIN - POPUP "&File" - BEGIN - MENUITEM "E&xit", IDM_EXIT - END - POPUP "&Help" - BEGIN - MENUITEM "&About ...", IDM_ABOUT - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_PROGRESS DIALOGEX 100, 100, 234, 33 -STYLE DS_SETFONT | DS_SETFOREGROUND | WS_CAPTION | WS_SYSMENU -CAPTION "%s Crash Logger" -CLASS "WIN_CRASH_LOGGER" -FONT 8, "MS Sans Serif", 0, 0, 0x0 -BEGIN - LTEXT "Static",IDC_LOG,7,7,220,8 -END - -IDD_REPORT DIALOGEX 100, 100, 297, 125 -STYLE DS_SETFONT | DS_SETFOREGROUND | WS_CAPTION | WS_SYSMENU -CAPTION "%s Crash Logger" -CLASS "WIN_CRASH_LOGGER" -FONT 8, "MS Sans Serif", 0, 0, 0x0 -BEGIN - DEFPUSHBUTTON "Send",IDOK,198,104,45,15,WS_GROUP - PUSHBUTTON "Don't Send",IDCANCEL,247,104,45,15,WS_GROUP - LTEXT "%s appears to have crashed.",IDC_STATIC_HEADER,4,4,288,14 - LTEXT "This crash reporter collects information about your computer's hardware, operating system, and some %s logs, which are used for debugging purposes only.",IDC_STATIC_WHATINFO,4,23,288,19,NOT WS_GROUP - CONTROL "Remember this choice",IDC_CHECK_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,106,89,13 - LTEXT "Sending crash reports is the best way to help us improve the quality of %s.",IDC_STATIC_MOTIVATION,4,43,288,8 - LTEXT "If you continue to experience this problem, please try:",IDC_STATIC,4,57,251,8 - LTEXT "- Contacting support by visiting http://www.secondlife.com/support",IDC_STATIC,4,67,231,8 -END - -IDD_PREVREPORTBOX DIALOGEX 100, 100, 232, 213 -STYLE DS_SETFONT | DS_SETFOREGROUND | WS_CAPTION | WS_SYSMENU -CAPTION "%s Crash Logger" -CLASS "WIN_CRASH_LOGGER" -FONT 8, "MS Sans Serif", 0, 0, 0x0 -BEGIN - DEFPUSHBUTTON "Send Report",IDOK,131,193,45,15,WS_GROUP - EDITTEXT IDC_EDIT1,3,100,223,89,ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL - PUSHBUTTON "Don't Send",IDCANCEL,181,193,45,15,WS_GROUP - LTEXT "%s appears to have crashed or frozen the last time it ran.",IDC_STATIC_HEADER,4,4,214,8 - LTEXT "This crash reporter collects information about your computer's",IDC_STATIC,4,17,201,8 - LTEXT "hardware configuration, operating system, and some %s",IDC_STATIC_MSG,4,25,212,8 - LTEXT "logs, all of which are used for debugging purposes only.",IDC_STATIC,4,33,210,8 - LTEXT "In the space below, please briefly describe what you were doing",IDC_STATIC,3,48,208,8 - LTEXT "or trying to do just prior to the crash.",IDC_STATIC,3,56,204,8 - LTEXT "If you don't wish to send Linden Lab a crash report, press Don't Send.",IDC_STATIC,3,90,223,8 - LTEXT "This report is NOT read by customer support. If you have billing or",IDC_STATIC,3,68,208,8 - LTEXT "other questions, please go to: www.secondlife.com/support",IDC_STATIC,3,76,206,8 - CONTROL "Remember this choice",IDC_CHECK_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3,193,89,13 -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -2 TEXTINCLUDE -BEGIN - "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" - "#include ""windows.h""\r\n" - "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" - "#include ""resource.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_PROGRESS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 227 - TOPMARGIN, 7 - BOTTOMMARGIN, 26 - END - - IDD_REPORT, DIALOG - BEGIN - RIGHTMARGIN, 292 - VERTGUIDE, 4 - BOTTOMMARGIN, 119 - HORZGUIDE, 4 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_APP_TITLE "win_crash_logger" - IDS_HELLO "Hello World!" - IDC_WIN_CRASH_LOGGER "WIN_CRASH_LOGGER" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - From 5af8f15a0579bc88ca4249324db8b1f19c52bbd5 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 8 Sep 2021 20:53:50 +0300 Subject: [PATCH 26/91] SL-14541 Replace zlib with zlib-ng --- autobuild.xml | 332 +++++++++-------------- indra/cmake/CMakeLists.txt | 4 +- indra/cmake/FindZLIB.cmake | 46 ---- indra/cmake/FindZLIBNG.cmake | 46 ++++ indra/cmake/LLCommon.cmake | 2 +- indra/cmake/LLPrimitive.cmake | 7 +- indra/cmake/{ZLIB.cmake => ZLIBNG.cmake} | 20 +- indra/llcommon/CMakeLists.txt | 6 +- indra/llcommon/llsdserialize.cpp | 2 +- indra/llcommon/llsys.cpp | 2 +- indra/llcorehttp/CMakeLists.txt | 2 +- indra/llimage/CMakeLists.txt | 6 +- indra/llprimitive/llmodel.cpp | 2 +- indra/newview/CMakeLists.txt | 6 +- indra/newview/llviewerobjectlist.cpp | 2 +- 15 files changed, 209 insertions(+), 276 deletions(-) delete mode 100644 indra/cmake/FindZLIB.cmake create mode 100644 indra/cmake/FindZLIBNG.cmake rename indra/cmake/{ZLIB.cmake => ZLIBNG.cmake} (71%) diff --git a/autobuild.xml b/autobuild.xml index 4768bd25c6..f97344c04b 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -166,9 +166,9 @@ archive hash - 3cc73623c9a976b4f8346a3837f7a916 + c2009b5914f5884b4a3c28e9ad3da549 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64088/601256/boost-1.72-darwin64-545361.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86984/801771/boost-1.72-darwin64-563356.tar.bz2 name darwin64 @@ -202,9 +202,9 @@ archive hash - 7d4b2511976449e9a4ec7be41dc8310f + f7dcd4eacc9a8a9dd00b796d8d3cda90 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64092/601270/boost-1.72-windows-545361.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86991/801772/boost-1.72-windows-563356.tar.bz2 name windows @@ -214,9 +214,9 @@ archive hash - 4ad8df0700745201cddf6b71d7b0949f + 2cd6b17ca13c5eeeca562c28a3af441c url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64091/601265/boost-1.72-windows64-545361.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86992/801784/boost-1.72-windows64-563356.tar.bz2 name windows64 @@ -308,9 +308,9 @@ archive hash - 02e6a8207dcdaf243dcb6da19b8c3534 + ba754816c391d93319f77964284bde2e url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64099/601302/colladadom-2.3.545362-darwin64-545362.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87587/804749/colladadom-2.3.563706-darwin64-563706.tar.bz2 name darwin64 @@ -344,9 +344,9 @@ archive hash - 8a02a10fc69c8f504dc5335644db184a + 649395b9e3d8b49f6879efc97f52bf49 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64104/601313/colladadom-2.3.545362-windows-545362.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87590/804763/colladadom-2.3.563706-windows-563706.tar.bz2 name windows @@ -356,16 +356,16 @@ archive hash - 742180324fca7ab92b6a61a36aab4f9d + 349f8c5f46a16425463ba15ad1013bf2 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64103/601314/colladadom-2.3.545362-windows64-545362.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87588/804757/colladadom-2.3.563706-windows64-563706.tar.bz2 name windows64 version - 2.3.545362 + 2.3.563706 curl @@ -398,9 +398,9 @@ archive hash - f5ae57117a6518d11f49ccfbfbe0969d + 85aa93094c46f5ba86eaf397ed11d1f1 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64131/601402/curl-7.54.1.545369-darwin64-545369.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87000/801824/curl-7.54.1.563360-darwin64-563360.tar.bz2 name darwin64 @@ -434,11 +434,11 @@ archive hash - 2796ae7b09e730a55ac03f74ed669520 + ae764cb3274f9e0381294f74d489d21f hash_algorithm md5 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64130/601396/curl-7.54.1.545369-windows-545369.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87001/801821/curl-7.54.1.563360-windows-563360.tar.bz2 name windows @@ -448,16 +448,16 @@ archive hash - a8f96e5cdb8128b23d49ff4c3f2233a4 + 377186f1859230a3588b6caea4286f26 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64129/601382/curl-7.54.1.545369-windows64-545369.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87002/801815/curl-7.54.1.563360-windows64-563360.tar.bz2 name windows64 version - 7.54.1.545369 + 7.54.1.563360 db @@ -880,9 +880,9 @@ archive hash - 81a2e9aca3e33c4eecf0081854540b07 + 5a284b9a5c19e6502b243e702e6666ee url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56309/526711/freetype-2.4.4.539865-darwin64-539865.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86990/801719/freetype-2.4.4.563358-darwin64-563358.tar.bz2 name darwin64 @@ -916,9 +916,9 @@ archive hash - 1d1c7b60f71a5152ced60bee87f5bba8 + 7309f26bf50a2a6581ba886680368a24 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56312/526734/freetype-2.4.4.539865-windows-539865.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86996/801804/freetype-2.4.4.563358-windows-563358.tar.bz2 name windows @@ -928,16 +928,16 @@ archive hash - 53e78d4a607e959637e98a82a3cf5bea + 4566d1fcf5d3c50475082f06187ea763 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56310/526723/freetype-2.4.4.539865-windows64-539865.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86997/801803/freetype-2.4.4.563358-windows64-563358.tar.bz2 name windows64 version - 2.4.4.539865 + 2.4.4.563358 glext @@ -1141,96 +1141,6 @@ version 1.0pre3.538980 - google_breakpad - - copyright - Copyright (c) 2006, Google Inc. - description - Breakpad is a crossplatform library for capturing crash callstacks and runtime data. - license - bsd - license_file - LICENSES/google_breakpad.txt - name - google_breakpad - platforms - - darwin - - archive - - hash - 171b39db6d0702535b41fad5b476e39d - url - http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/google-breakpad_3p-update-google-breakpad/rev/298033/arch/Darwin/installer/google_breakpad-1413.298033-darwin-298033.tar.bz2 - - name - darwin - - darwin64 - - archive - - hash - ca33f234aae399b9e704e262f7e15d35 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56338/526869/google_breakpad-1413.539880-darwin64-539880.tar.bz2 - - name - darwin64 - - linux - - archive - - hash - 352e673897e8f36f8470150b8ace6ce9 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/p64_3p-google-breakpad/rev/314225/arch/Linux/installer/google_breakpad-1413.314225-linux-314225.tar.bz2 - - name - linux - - linux64 - - archive - - hash - 6bddcc1ac470dd5eab459220102df9e9 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1835/4114/google_breakpad-1413.501824-linux64-501824.tar.bz2 - - name - linux64 - - windows - - archive - - hash - bfee0438617f57f02f7e8515a801cb20 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56359/526982/google_breakpad-1413.539880-windows-539880.tar.bz2 - - name - windows - - windows64 - - archive - - hash - 6f983e754bb3046f065806b510b408c5 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56358/526975/google_breakpad-1413.539880-windows64-539880.tar.bz2 - - name - windows64 - - - version - 1413.539880 - googlemock copyright @@ -1262,9 +1172,9 @@ archive hash - f9831360ced94943ab9dfb3fbf5256d3 + cf03c4eb26b4cc07a87def2ccc847fe4 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64101/601290/googlemock-1.7.0.545363-darwin64-545363.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87026/801906/googlemock-1.7.0.563371-darwin64-563371.tar.bz2 name darwin64 @@ -1298,9 +1208,9 @@ archive hash - 8149e46b4f7abb3ac284415cfe1366e1 + 6e22038018e933acab39b87ed7ec8154 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64102/601296/googlemock-1.7.0.545363-windows-545363.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87027/801912/googlemock-1.7.0.563371-windows-563371.tar.bz2 name windows @@ -1310,16 +1220,16 @@ archive hash - f3851eba809ead2810d702041569d36d + 3caed7eeb2161dfce81bb6754f27c709 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64100/601284/googlemock-1.7.0.545363-windows64-545363.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87028/801918/googlemock-1.7.0.563371-windows64-563371.tar.bz2 name windows64 version - 1.7.0.545363 + 1.7.0.563371 gstreamer @@ -1948,9 +1858,9 @@ archive hash - 0932b19bb6a8e2641706afd13d92951d + cc46a0f06659c60c1776dce789ffc8f0 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56313/526740/libpng-1.6.8.539868-darwin64-539868.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86989/801708/libpng-1.6.8.563357-darwin64-563357.tar.bz2 name darwin64 @@ -1984,9 +1894,9 @@ archive hash - f498782698428888113b64a7505c8f7f + 17e0fd54af900ecbccbfe298de696fee url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56319/526770/libpng-1.6.8.539868-windows-539868.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86994/801760/libpng-1.6.8.563357-windows-563357.tar.bz2 name windows @@ -1996,16 +1906,16 @@ archive hash - f8ac4f690a2925418866bccf6eba3cf4 + e1d6c3b01a7a948522f890d1f20cd05c url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56317/526762/libpng-1.6.8.539868-windows64-539868.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86993/801759/libpng-1.6.8.563357-windows64-563357.tar.bz2 name windows64 version - 1.6.8.539868 + 1.6.8.563357 libuuid @@ -2080,9 +1990,9 @@ archive hash - 0706b9c3889d767af9f5105d9ffa9b51 + 359cf1c7267c69db37aa894783a1d6ed url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56327/526819/libxml2-2.9.4.539866-darwin64-539866.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86995/801734/libxml2-2.9.4.563359-darwin64-563359.tar.bz2 name darwin64 @@ -2116,9 +2026,9 @@ archive hash - 1b7b979a8387fbb0f278dc681558b9ef + 37dbc89c4fb24da3751cfb99bd9f1bcc url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56316/526755/libxml2-2.9.4.539866-windows-539866.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86998/801792/libxml2-2.9.4.563359-windows-563359.tar.bz2 name windows @@ -2128,16 +2038,16 @@ archive hash - 4f8ff97d6a9ab350306b62eec8adc810 + 04ce00040a95960484bd484f31532cda url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56314/526748/libxml2-2.9.4.539866-windows64-539866.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86999/801791/libxml2-2.9.4.563359-windows64-563359.tar.bz2 name windows64 version - 2.9.4.539866 + 2.9.4.563359 llappearance_utility @@ -2394,6 +2304,62 @@ version 7.11.1.297294 + minizip-ng + + canonical_repo + https://bitbucket.org/lindenlab/3p-minizip-ng + copyright + This project uses the zlib license. Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler + description + minizip-ng is a zip manipulation library. Based on work of Gilles Vollant. + license + minizip + license_file + LICENSES/minizip-ng.txt + name + minizip-ng + platforms + + darwin64 + + archive + + hash + 6880623b17821b0e19ea277018a39e7f + url + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87561/804600/minizip_ng-.563689-darwin64-563689.tar.bz2 + + name + darwin64 + + windows + + archive + + hash + bbc8a9dd05cdc9e8150084ea16de3ace + url + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87560/804605/minizip_ng-.563689-windows-563689.tar.bz2 + + name + windows + + windows64 + + archive + + hash + 89af88d850467ee736c6e7ccaaeadb7e + url + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87559/804602/minizip_ng-.563689-windows64-563689.tar.bz2 + + name + windows64 + + + version + .563689 + nghttp2 copyright @@ -2414,9 +2380,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 937ce1a2158c0cfff37f5989f5b24aba + e4f784d8a035c51921a1562ca7a1bab6 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64066/601156/nghttp2-1.40.0.545354-darwin64-545354.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76357/727350/nghttp2-1.40.0.555524-darwin64-555524.tar.bz2 name darwin64 @@ -2450,9 +2416,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 138b881bdf37dff4e626e022a50dd11f + af05aa2994c9845308fecd094b7b2d25 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64069/601181/nghttp2-1.40.0.545354-windows-545354.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76359/727360/nghttp2-1.40.0.555524-windows-555524.tar.bz2 name windows @@ -2462,9 +2428,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - c23c6480c7cbea60a2bd26e257adc0a7 + 5a55cede40eef16b9d1e47c418a2b77a url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/64068/601177/nghttp2-1.40.0.545354-windows64-545354.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76358/727359/nghttp2-1.40.0.555524-windows64-555524.tar.bz2 name windows64 @@ -2473,7 +2439,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors source_type hg version - 1.40.0.545354 + 1.40.0.555524 nvapi @@ -2828,9 +2794,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 18aef0c8fc471b6539addbdc019aea25 + 5e589a1ec2695468ee0034e214fd97e2 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56325/526804/openssl-1.0.2l.539874-darwin64-539874.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86982/801701/openssl-1.1.1l.563354-darwin64-563354.tar.bz2 name darwin64 @@ -2864,9 +2830,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 2b2f61313b1cbd2893c1ba5bf15061fa + aac15f6f01a8283b001d04ce409a51eb url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56328/526826/openssl-1.0.2l.539874-windows-539874.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86987/801746/openssl-1.1.1l.563354-windows-563354.tar.bz2 name windows @@ -2876,16 +2842,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 59aae854155bc7119e0dca25e65828c0 + 6a0c5bb2a7e17d7b36e3f8f322af4e9f url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/56326/526811/openssl-1.0.2l.539874-windows64-539874.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86988/801748/openssl-1.1.1l.563354-windows64-563354.tar.bz2 name windows64 version - 1.0.2l.539874 + 1.1.1l.563354 pcre @@ -3399,78 +3365,42 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors version 0.54.1.539072 - zlib + zlib-ng + canonical_repo + https://bitbucket.org/lindenlab/3p-zlib-ng copyright Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler description - Zlib Data Compression Library + zlib data compression library for the next generation systems license zlib license_file - LICENSES/zlib.txt + LICENSES/zlib-ng.txt name - zlib + zlib-ng platforms - darwin - - archive - - hash - 1a79eeac199c2d94e4ae4e5d0194e25f - url - http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/zlib_3p-update-zlib/rev/296881/arch/Darwin/installer/zlib-1.2.8.296881-darwin-296881.tar.bz2 - - name - darwin - darwin64 archive hash - 9785bda5b4d3b41bf391b33d0da78c9e + 978934d8ee9fa44cfcbf0fc6952733f9 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54858/510190/zlib-1.2.8.538988-darwin64-538988.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86979/801678/zlib_ng-2.0.5.563353-darwin64-563353.tar.bz2 name darwin64 - linux - - archive - - hash - 98a8c775c581ca80bb559e8b4e8eaae7 - hash_algorithm - md5 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/p64_3p-zlib/rev/314131/arch/Linux/installer/zlib-1.2.8.314131-linux-314131.tar.bz2 - - name - linux - - linux64 - - archive - - hash - dab6be8b0596c1e3354f2b6d41335131 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/866/1898/zlib-1.2.8.500857-linux64-500857.tar.bz2 - - name - linux64 - windows archive hash - ebdb07d4aaa5312005a8773f625032a4 + abbfde54d943fb999db9b98ee5850cb4 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55048/512031/zlib-1.2.8.538988-windows-538988.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86980/801690/zlib_ng-2.0.5.563353-windows-563353.tar.bz2 name windows @@ -3480,16 +3410,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 0ac95f3dece7d575ba45cf5728f53eea + b038b8dd39273494668f90cdbfa35332 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55047/512024/zlib-1.2.8.538988-windows64-538988.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86981/801689/zlib_ng-2.0.5.563353-windows64-563353.tar.bz2 name windows64 version - 1.2.8.538988 + 2.0.5.563353 package_description diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index cca305c741..225e9fc536 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -35,7 +35,7 @@ set(cmake_SOURCE_FILES FindSCP.cmake FindURIPARSER.cmake FindXmlRpcEpi.cmake - FindZLIB.cmake + FindZLIBNG.cmake FMODSTUDIO.cmake FreeType.cmake GLEXT.cmake @@ -92,7 +92,7 @@ set(cmake_SOURCE_FILES VisualLeakDetector.cmake LibVLCPlugin.cmake XmlRpcEpi.cmake - ZLIB.cmake + ZLIBNG.cmake ) source_group("Shared Rules" FILES ${cmake_SOURCE_FILES}) diff --git a/indra/cmake/FindZLIB.cmake b/indra/cmake/FindZLIB.cmake deleted file mode 100644 index 03a7db9d6f..0000000000 --- a/indra/cmake/FindZLIB.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# -*- cmake -*- - -# - Find zlib -# Find the ZLIB includes and library -# This module defines -# ZLIB_INCLUDE_DIRS, where to find zlib.h, etc. -# ZLIB_LIBRARIES, the libraries needed to use zlib. -# ZLIB_FOUND, If false, do not try to use zlib. -# -# This FindZLIB is about 43 times as fast the one provided with cmake (2.8.x), -# because it doesn't look up the version of zlib, resulting in a dramatic -# speed up for configure (from 4 minutes 22 seconds to 6 seconds). -# -# Note: Since this file is only used for standalone, the windows -# specific parts were left out. - -FIND_PATH(ZLIB_INCLUDE_DIR zlib.h - NO_SYSTEM_ENVIRONMENT_PATH - ) - -FIND_LIBRARY(ZLIB_LIBRARY z) - -if (ZLIB_LIBRARY AND ZLIB_INCLUDE_DIR) - SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR}) - SET(ZLIB_LIBRARIES ${ZLIB_LIBRARY}) - SET(ZLIB_FOUND "YES") -else (ZLIB_LIBRARY AND ZLIB_INCLUDE_DIR) - SET(ZLIB_FOUND "NO") -endif (ZLIB_LIBRARY AND ZLIB_INCLUDE_DIR) - -if (ZLIB_FOUND) - if (NOT ZLIB_FIND_QUIETLY) - message(STATUS "Found ZLIB: ${ZLIB_LIBRARIES}") - SET(ZLIB_FIND_QUIETLY TRUE) - endif (NOT ZLIB_FIND_QUIETLY) -else (ZLIB_FOUND) - if (ZLIB_FIND_REQUIRED) - message(FATAL_ERROR "Could not find ZLIB library") - endif (ZLIB_FIND_REQUIRED) -endif (ZLIB_FOUND) - -mark_as_advanced( - ZLIB_LIBRARY - ZLIB_INCLUDE_DIR - ) - diff --git a/indra/cmake/FindZLIBNG.cmake b/indra/cmake/FindZLIBNG.cmake new file mode 100644 index 0000000000..6e3c8cdddb --- /dev/null +++ b/indra/cmake/FindZLIBNG.cmake @@ -0,0 +1,46 @@ +# -*- cmake -*- + +# - Find zlib-ng +# Find the ZLIB includes and library +# This module defines +# ZLIBNG_INCLUDE_DIRS, where to find zlib.h, etc. +# ZLIBNG_LIBRARIES, the libraries needed to use zlib. +# ZLIBNG_FOUND, If false, do not try to use zlib. +# +# This FindZLIBNG is about 43 times as fast the one provided with cmake (2.8.x), +# because it doesn't look up the version of zlib, resulting in a dramatic +# speed up for configure (from 4 minutes 22 seconds to 6 seconds). +# +# Note: Since this file is only used for standalone, the windows +# specific parts were left out. + +FIND_PATH(ZLIBNG_INCLUDE_DIR zlib.h + NO_SYSTEM_ENVIRONMENT_PATH + ) + +FIND_LIBRARY(ZLIBNG_LIBRARY z) + +if (ZLIBNG_LIBRARY AND ZLIBNG_INCLUDE_DIR) + SET(ZLIBNG_INCLUDE_DIRS ${ZLIBNG_INCLUDE_DIR}) + SET(ZLIBNG_LIBRARIES ${ZLIBNG_LIBRARY}) + SET(ZLIBNG_FOUND "YES") +else (ZLIBNG_LIBRARY AND ZLIBNG_INCLUDE_DIR) + SET(ZLIBNG_FOUND "NO") +endif (ZLINGB_LIBRARY AND ZLIBNG_INCLUDE_DIR) + +if (ZLIBNG_FOUND) + if (NOT ZLIBNG_FIND_QUIETLY) + message(STATUS "Found ZLIBNG: ${ZLIBNG_LIBRARIES}") + SET(ZLIBNG_FIND_QUIETLY TRUE) + endif (NOT ZLIBNG_FIND_QUIETLY) +else (ZLIBNG_FOUND) + if (ZLIBNG_FIND_REQUIRED) + message(FATAL_ERROR "Could not find ZLIBNG library") + endif (ZLIBNG_FIND_REQUIRED) +endif (ZLIBNG_FOUND) + +mark_as_advanced( + ZLIBNG_LIBRARY + ZLIBNG_INCLUDE_DIR + ) + diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index 8900419f9b..9c8740793a 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -3,7 +3,7 @@ include(APR) include(Boost) include(EXPAT) -include(ZLIB) +include(ZLIBNG) set(LLCOMMON_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llcommon diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 93626f689f..91bba98840 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -5,6 +5,7 @@ include(Prebuilt) include(Boost) use_prebuilt_binary(colladadom) +use_prebuilt_binary(minizip-ng) # needed for colladadom use_prebuilt_binary(pcre) use_prebuilt_binary(libxml2) @@ -22,6 +23,8 @@ if (WINDOWS) optimized pcrecpp debug pcred optimized pcre + debug libminizip + optimized libminizip ${BOOST_SYSTEM_LIBRARIES} ) elseif (DARWIN) @@ -29,7 +32,7 @@ elseif (DARWIN) llprimitive debug collada14dom-d optimized collada14dom - minizip + libminizip # for collada xml2 pcrecpp pcre @@ -40,7 +43,7 @@ elseif (LINUX) llprimitive debug collada14dom-d optimized collada14dom - minizip + libminizip xml2 pcrecpp pcre diff --git a/indra/cmake/ZLIB.cmake b/indra/cmake/ZLIBNG.cmake similarity index 71% rename from indra/cmake/ZLIB.cmake rename to indra/cmake/ZLIBNG.cmake index 6cff0753b2..1f46a23d92 100644 --- a/indra/cmake/ZLIB.cmake +++ b/indra/cmake/ZLIBNG.cmake @@ -1,17 +1,17 @@ # -*- cmake -*- -set(ZLIB_FIND_QUIETLY ON) -set(ZLIB_FIND_REQUIRED ON) +set(ZLIBNG_FIND_QUIETLY ON) +set(ZLIBNG_FIND_REQUIRED ON) include(Prebuilt) if (USESYSTEMLIBS) - include(FindZLIB) + include(FindZLIBNG) else (USESYSTEMLIBS) - use_prebuilt_binary(zlib) + use_prebuilt_binary(zlib-ng) if (WINDOWS) - set(ZLIB_LIBRARIES - debug zlibd + set(ZLIBNG_LIBRARIES + debug zlib optimized zlib) elseif (LINUX) # @@ -26,10 +26,10 @@ else (USESYSTEMLIBS) # second whole-archive load of the archive. See viewer's # CMakeLists.txt for more information. # - set(ZLIB_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive) - set(ZLIB_LIBRARIES z) + set(ZLIBNG_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive) + set(ZLIBNG_LIBRARIES z) elseif (DARWIN) - set(ZLIB_LIBRARIES z) + set(ZLIBNG_LIBRARIES z) endif (WINDOWS) - set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib) + set(ZLIBNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib-ng) endif (USESYSTEMLIBS) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 22dfe12e40..040b0eb23d 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -10,14 +10,14 @@ include(Boost) include(LLSharedLibs) include(JsonCpp) include(Copy3rdPartyLibs) -include(ZLIB) +include(ZLIBNG) include(URIPARSER) include_directories( ${EXPAT_INCLUDE_DIRS} ${LLCOMMON_INCLUDE_DIRS} ${JSONCPP_INCLUDE_DIR} - ${ZLIB_INCLUDE_DIRS} + ${ZLIBNG_INCLUDE_DIRS} ${URIPARSER_INCLUDE_DIRS} ) @@ -290,7 +290,7 @@ target_link_libraries( ${APR_LIBRARIES} ${EXPAT_LIBRARIES} ${JSONCPP_LIBRARIES} - ${ZLIB_LIBRARIES} + ${ZLIBNG_LIBRARIES} ${WINDOWS_LIBRARIES} ${BOOST_FIBER_LIBRARY} ${BOOST_CONTEXT_LIBRARY} diff --git a/indra/llcommon/llsdserialize.cpp b/indra/llcommon/llsdserialize.cpp index 022a5d4659..8b4a0ee6d8 100644 --- a/indra/llcommon/llsdserialize.cpp +++ b/indra/llcommon/llsdserialize.cpp @@ -37,7 +37,7 @@ #ifdef LL_USESYSTEMLIBS # include #else -# include "zlib/zlib.h" // for davep's dirty little zip functions +# include "zlib-ng/zlib.h" // for davep's dirty little zip functions #endif #if !LL_WINDOWS diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index b3a93e3254..f710f1b279 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -36,7 +36,7 @@ #ifdef LL_USESYSTEMLIBS # include #else -# include "zlib/zlib.h" +# include "zlib-ng/zlib.h" #endif #include "llprocessor.h" diff --git a/indra/llcorehttp/CMakeLists.txt b/indra/llcorehttp/CMakeLists.txt index 6a301ad50d..c591680250 100644 --- a/indra/llcorehttp/CMakeLists.txt +++ b/indra/llcorehttp/CMakeLists.txt @@ -7,7 +7,7 @@ include(GoogleMock) include(CURL) include(OpenSSL) include(NGHTTP2) -include(ZLIB) +include(ZLIBNG) include(LLCoreHttp) include(LLAddBuildTest) include(LLMessage) diff --git a/indra/llimage/CMakeLists.txt b/indra/llimage/CMakeLists.txt index 28b8e8c06d..45fb126b10 100644 --- a/indra/llimage/CMakeLists.txt +++ b/indra/llimage/CMakeLists.txt @@ -9,7 +9,7 @@ include(LLMath) include(LLVFS) include(LLKDU) include(LLImageJ2COJ) -include(ZLIB) +include(ZLIBNG) include(LLAddBuildTest) include(bugsplat) include(Tut) @@ -20,7 +20,7 @@ include_directories( ${LLMATH_INCLUDE_DIRS} ${LLVFS_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS} - ${ZLIB_INCLUDE_DIRS} + ${ZLIBNG_INCLUDE_DIRS} ) set(llimage_SOURCE_FILES @@ -74,7 +74,7 @@ target_link_libraries(llimage ${LLCOMMON_LIBRARIES} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} - ${ZLIB_LIBRARIES} + ${ZLIBNG_LIBRARIES} ) # Add tests diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 702a1b5238..239b2aa878 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -35,7 +35,7 @@ #ifdef LL_USESYSTEMLIBS # include #else -# include "zlib/zlib.h" +# include "zlib-ng/zlib.h" #endif std::string model_names[] = diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 03d2ea06f0..cc27232eae 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -52,7 +52,7 @@ include(UnixInstall) include(ViewerMiscLibs) include(ViewerManager) include(VisualLeakDetector) -include(ZLIB) +include(ZLIBNG) include(URIPARSER) if (NOT HAVOK_TPV) @@ -2007,14 +2007,14 @@ endif (WINDOWS) # # We generally want the newest version of the library to provide all symbol # resolution. To that end, when using static archives, the *_PRELOAD_ARCHIVES -# variables, PNG_PRELOAD_ARCHIVES and ZLIB_PRELOAD_ARCHIVES, get the archives +# variables, PNG_PRELOAD_ARCHIVES and ZLIBNG_PRELOAD_ARCHIVES, get the archives # dumped into the target binary and runtime lookup will find the most # modern version. target_link_libraries(${VIEWER_BINARY_NAME} ${LEGACY_STDIO_LIBS} ${PNG_PRELOAD_ARCHIVES} - ${ZLIB_PRELOAD_ARCHIVES} + ${ZLIBNG_PRELOAD_ARCHIVES} ${URIPARSER_PRELOAD_ARCHIVES} ${GOOGLE_PERFTOOLS_LIBRARIES} ${LLAUDIO_LIBRARIES} diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index 63e48d1dd0..ea8b74d2c0 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -72,7 +72,7 @@ #ifdef LL_USESYSTEMLIBS #include #else -#include "zlib/zlib.h" +#include "zlib-ng/zlib.h" #endif #include "object_flags.h" From a212a862b48dbe07e069b87b68a5c202f0b34060 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 27 May 2021 00:04:08 +0300 Subject: [PATCH 27/91] SL-15211 SL-14541 Update OpenSSL library Moving a copy of OpenSSL 1.1.1 to D543 from D520 to have less conflicts with zlib-ng integration later --- indra/cmake/Copy3rdPartyLibs.cmake | 11 +++- indra/cmake/OpenSSL.cmake | 2 +- indra/llcorehttp/httpcommon.cpp | 55 ------------------- indra/llmessage/llblowfishcipher.cpp | 28 ++++++---- indra/newview/CMakeLists.txt | 8 +-- indra/newview/llsecapi.h | 2 +- indra/newview/llsechandler_basic.cpp | 48 +++++++++------- indra/newview/llsechandler_basic.h | 4 +- indra/newview/tests/llsecapi_test.cpp | 2 +- .../newview/tests/llsechandler_basic_test.cpp | 32 +++++------ indra/newview/viewer_manifest.py | 10 +++- 11 files changed, 85 insertions(+), 117 deletions(-) diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 31537a43ef..b20d23cead 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -56,14 +56,21 @@ if(WINDOWS) libapr-1.dll libaprutil-1.dll libapriconv-1.dll - ssleay32.dll - libeay32.dll nghttp2.dll glod.dll libhunspell.dll uriparser.dll ) + # OpenSSL + if(ADDRESS_SIZE EQUAL 64) + set(release_files ${release_files} libcrypto-1_1-x64.dll) + set(release_files ${release_files} libssl-1_1-x64.dll) + else(ADDRESS_SIZE EQUAL 64) + set(release_files ${release_files} libcrypto-1_1.dll) + set(release_files ${release_files} libssl-1_1.dll) + endif(ADDRESS_SIZE EQUAL 64) + # Filenames are different for 32/64 bit BugSplat file and we don't # have any control over them so need to branch. if (USE_BUGSPLAT) diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake index eb548bdcc1..32400f5e4e 100644 --- a/indra/cmake/OpenSSL.cmake +++ b/indra/cmake/OpenSSL.cmake @@ -9,7 +9,7 @@ if (USESYSTEMLIBS) else (USESYSTEMLIBS) use_prebuilt_binary(openssl) if (WINDOWS) - set(OPENSSL_LIBRARIES ssleay32 libeay32) + set(OPENSSL_LIBRARIES libssl libcrypto) else (WINDOWS) set(OPENSSL_LIBRARIES ssl crypto) endif (WINDOWS) diff --git a/indra/llcorehttp/httpcommon.cpp b/indra/llcorehttp/httpcommon.cpp index e37a38b05f..bbf23a6d70 100644 --- a/indra/llcorehttp/httpcommon.cpp +++ b/indra/llcorehttp/httpcommon.cpp @@ -23,13 +23,6 @@ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ -#if LL_WINDOWS -#define SAFE_SSL 1 -#elif LL_DARWIN -#define SAFE_SSL 1 -#else -#define SAFE_SSL 1 -#endif #include "linden_common.h" // Modifies curl/curl.h interfaces #include "httpcommon.h" @@ -38,10 +31,6 @@ #include #include #include -#if SAFE_SSL -#include -#include // std::hash -#endif namespace LLCore @@ -348,34 +337,6 @@ void deallocateEasyCurl(CURL *curlp) } -#if SAFE_SSL -//static -void ssl_locking_callback(int mode, int type, const char *file, int line) -{ - if (type >= sSSLMutex.size()) - { - LL_WARNS() << "Attempt to get unknown MUTEX in SSL Lock." << LL_ENDL; - } - - if (mode & CRYPTO_LOCK) - { - sSSLMutex[type]->lock(); - } - else - { - sSSLMutex[type]->unlock(); - } -} - -//static -unsigned long ssl_thread_id(void) -{ - // std::thread::id is very deliberately opaque, but we can hash it - return std::hash()(LLThread::currentID()); -} -#endif - - } void initialize() @@ -387,27 +348,11 @@ void initialize() check_curl_code(code, CURL_GLOBAL_ALL); -#if SAFE_SSL - S32 mutex_count = CRYPTO_num_locks(); - for (S32 i = 0; i < mutex_count; i++) - { - sSSLMutex.push_back(LLMutex_ptr(new LLMutex())); - } - CRYPTO_set_id_callback(&ssl_thread_id); - CRYPTO_set_locking_callback(&ssl_locking_callback); -#endif - } void cleanup() { -#if SAFE_SSL - CRYPTO_set_id_callback(NULL); - CRYPTO_set_locking_callback(NULL); - sSSLMutex.clear(); -#endif - curl_global_cleanup(); } diff --git a/indra/llmessage/llblowfishcipher.cpp b/indra/llmessage/llblowfishcipher.cpp index 0b5025a422..949d4cc0c7 100644 --- a/indra/llmessage/llblowfishcipher.cpp +++ b/indra/llmessage/llblowfishcipher.cpp @@ -52,24 +52,28 @@ U32 LLBlowfishCipher::encrypt(const U8* src, U32 src_len, U8* dst, U32 dst_len) if (src_len > dst_len) return 0; // OpenSSL uses "cipher contexts" to hold encryption parameters. - EVP_CIPHER_CTX context; - EVP_CIPHER_CTX_init(&context); + EVP_CIPHER_CTX *context = EVP_CIPHER_CTX_new(); + if (!context) + { + LL_WARNS() << "LLBlowfishCipher::encrypt EVP_CIPHER_CTX initiation failure" << LL_ENDL; + return 0; + } // We want a blowfish cyclic block chain cipher, but need to set // the key length before we pass in a key, so call EncryptInit // first with NULLs. - EVP_EncryptInit_ex(&context, EVP_bf_cbc(), NULL, NULL, NULL); - EVP_CIPHER_CTX_set_key_length(&context, (int)mSecretSize); + EVP_EncryptInit_ex(context, EVP_bf_cbc(), NULL, NULL, NULL); + EVP_CIPHER_CTX_set_key_length(context, (int)mSecretSize); // Complete initialization. Per EVP_EncryptInit man page, the // cipher pointer must be NULL. Apparently initial_vector must // be 8 bytes for blowfish, as this is the block size. unsigned char initial_vector[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; - EVP_EncryptInit_ex(&context, NULL, NULL, mSecret, initial_vector); + EVP_EncryptInit_ex(context, NULL, NULL, mSecret, initial_vector); - int blocksize = EVP_CIPHER_CTX_block_size(&context); - int keylen = EVP_CIPHER_CTX_key_length(&context); - int iv_length = EVP_CIPHER_CTX_iv_length(&context); + int blocksize = EVP_CIPHER_CTX_block_size(context); + int keylen = EVP_CIPHER_CTX_key_length(context); + int iv_length = EVP_CIPHER_CTX_iv_length(context); LL_DEBUGS() << "LLBlowfishCipher blocksize " << blocksize << " keylen " << keylen << " iv_len " << iv_length @@ -77,7 +81,7 @@ U32 LLBlowfishCipher::encrypt(const U8* src, U32 src_len, U8* dst, U32 dst_len) int output_len = 0; int temp_len = 0; - if (!EVP_EncryptUpdate(&context, + if (!EVP_EncryptUpdate(context, dst, &output_len, src, @@ -89,18 +93,18 @@ U32 LLBlowfishCipher::encrypt(const U8* src, U32 src_len, U8* dst, U32 dst_len) // There may be some final data left to encrypt if the input is // not an exact multiple of the block size. - if (!EVP_EncryptFinal_ex(&context, (unsigned char*)(dst + output_len), &temp_len)) + if (!EVP_EncryptFinal_ex(context, (unsigned char*)(dst + output_len), &temp_len)) { LL_WARNS() << "LLBlowfishCipher::encrypt EVP_EncryptFinal failure" << LL_ENDL; goto ERROR; } output_len += temp_len; - EVP_CIPHER_CTX_cleanup(&context); + EVP_CIPHER_CTX_free(context); return output_len; ERROR: - EVP_CIPHER_CTX_cleanup(&context); + EVP_CIPHER_CTX_free(context); return 0; } diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index cc27232eae..cc6d98d1b9 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1835,10 +1835,6 @@ if (WINDOWS) ${CMAKE_CURRENT_SOURCE_DIR}/licenses-win32.txt ${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt ${CMAKE_CURRENT_SOURCE_DIR}/featuretable_xp.txt - ${ARCH_PREBUILT_DIRS_RELEASE}/libeay32.dll - ${ARCH_PREBUILT_DIRS_RELEASE}/ssleay32.dll - ${ARCH_PREBUILT_DIRS_DEBUG}/libeay32.dll - ${ARCH_PREBUILT_DIRS_DEBUG}/ssleay32.dll ${viewer_APPSETTINGS_FILES} SLPlugin media_plugin_cef @@ -1851,11 +1847,15 @@ if (WINDOWS) list(APPEND COPY_INPUT_DEPENDENCIES ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk_x64.dll ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ortp_x64.dll + ${ARCH_PREBUILT_DIRS_RELEASE}/libcrypto-1_1-x64.dll + ${ARCH_PREBUILT_DIRS_RELEASE}/libssl-1_1-x64.dll ) else (ADDRESS_SIZE EQUAL 64) list(APPEND COPY_INPUT_DEPENDENCIES ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/vivoxsdk.dll ${SHARED_LIB_STAGING_DIR}/${CMAKE_CFG_INTDIR}/ortp.dll + ${ARCH_PREBUILT_DIRS_RELEASE}/libcrypto-1_1.dll + ${ARCH_PREBUILT_DIRS_RELEASE}/libssl-1_1.dll ) endif (ADDRESS_SIZE EQUAL 64) diff --git a/indra/newview/llsecapi.h b/indra/newview/llsecapi.h index 14059f828a..1e6f2154bc 100644 --- a/indra/newview/llsecapi.h +++ b/indra/newview/llsecapi.h @@ -452,7 +452,7 @@ public: virtual LLPointer getCertificate(X509* openssl_cert)=0; // instantiate a chain from an X509_STORE_CTX - virtual LLPointer getCertificateChain(const X509_STORE_CTX* chain)=0; + virtual LLPointer getCertificateChain(X509_STORE_CTX* chain)=0; // instantiate a cert store given it's id. if a persisted version // exists, it'll be loaded. If not, one will be created (but not diff --git a/indra/newview/llsechandler_basic.cpp b/indra/newview/llsechandler_basic.cpp index 19db020a31..b4853d270a 100644 --- a/indra/newview/llsechandler_basic.cpp +++ b/indra/newview/llsechandler_basic.cpp @@ -95,7 +95,7 @@ LLBasicCertificate::LLBasicCertificate(const std::string& pem_cert, LLBasicCertificate::LLBasicCertificate(X509* pCert, const LLSD* validation_params) { - if (!pCert || !pCert->cert_info) + if (!pCert) { LLTHROW(LLInvalidCertificate(LLSD::emptyMap())); } @@ -355,8 +355,8 @@ LLSD cert_name_from_X509_NAME(X509_NAME* name) char buffer[32]; X509_NAME_ENTRY *entry = X509_NAME_get_entry(name, entry_index); - std::string name_value = std::string((const char*)M_ASN1_STRING_data(X509_NAME_ENTRY_get_data(entry)), - M_ASN1_STRING_length(X509_NAME_ENTRY_get_data(entry))); + std::string name_value = std::string((const char*)ASN1_STRING_data(X509_NAME_ENTRY_get_data(entry)), + ASN1_STRING_length(X509_NAME_ENTRY_get_data(entry))); ASN1_OBJECT* name_obj = X509_NAME_ENTRY_get_object(entry); OBJ_obj2txt(buffer, sizeof(buffer), name_obj, 0); @@ -683,29 +683,29 @@ std::string LLBasicCertificateStore::storeId() const // LLBasicCertificateChain // This class represents a chain of certs, each cert being signed by the next cert // in the chain. Certs must be properly signed by the parent -LLBasicCertificateChain::LLBasicCertificateChain(const X509_STORE_CTX* store) +LLBasicCertificateChain::LLBasicCertificateChain(X509_STORE_CTX* store) { // we're passed in a context, which contains a cert, and a blob of untrusted // certificates which compose the chain. - if((store == NULL) || (store->cert == NULL)) + if((store == NULL) || X509_STORE_CTX_get0_cert(store) == NULL) { LL_WARNS("SECAPI") << "An invalid store context was passed in when trying to create a certificate chain" << LL_ENDL; return; } // grab the child cert - LLPointer current = new LLBasicCertificate(store->cert); + LLPointer current = new LLBasicCertificate(X509_STORE_CTX_get0_cert(store)); add(current); - if(store->untrusted != NULL) + if(X509_STORE_CTX_get0_untrusted(store) != NULL) { // if there are other certs in the chain, we build up a vector // of untrusted certs so we can search for the parents of each // consecutive cert. LLBasicCertificateVector untrusted_certs; - for(int i = 0; i < sk_X509_num(store->untrusted); i++) + for(int i = 0; i < sk_X509_num(X509_STORE_CTX_get0_untrusted(store)); i++) { - LLPointer cert = new LLBasicCertificate(sk_X509_value(store->untrusted, i)); + LLPointer cert = new LLBasicCertificate(sk_X509_value(X509_STORE_CTX_get0_untrusted(store), i)); untrusted_certs.add(cert); } @@ -1348,9 +1348,10 @@ void LLSecAPIBasicHandler::_readProtectedData() // read in the rest of the file. - EVP_CIPHER_CTX ctx; - EVP_CIPHER_CTX_init(&ctx); - EVP_DecryptInit(&ctx, EVP_rc4(), salt, NULL); + EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + // todo: ctx error handling + + EVP_DecryptInit(ctx, EVP_rc4(), salt, NULL); // allocate memory: std::string decrypted_data; @@ -1358,14 +1359,14 @@ void LLSecAPIBasicHandler::_readProtectedData() // read data as a block: protected_data_stream.read((char *)buffer, BUFFER_READ_SIZE); - EVP_DecryptUpdate(&ctx, decrypted_buffer, &decrypted_length, + EVP_DecryptUpdate(ctx, decrypted_buffer, &decrypted_length, buffer, protected_data_stream.gcount()); decrypted_data.append((const char *)decrypted_buffer, protected_data_stream.gcount()); } // RC4 is a stream cipher, so we don't bother to EVP_DecryptFinal, as there is // no block padding. - EVP_CIPHER_CTX_cleanup(&ctx); + EVP_CIPHER_CTX_free(ctx); std::istringstream parse_stream(decrypted_data); if (parser->parse(parse_stream, mProtectedDataMap, LLSDSerialize::SIZE_UNLIMITED) == LLSDParser::PARSE_FAILURE) @@ -1401,12 +1402,14 @@ void LLSecAPIBasicHandler::_writeProtectedData() llofstream protected_data_stream(tmp_filename.c_str(), std::ios_base::binary); + EVP_CIPHER_CTX *ctx = NULL; try { - EVP_CIPHER_CTX ctx; - EVP_CIPHER_CTX_init(&ctx); - EVP_EncryptInit(&ctx, EVP_rc4(), salt, NULL); + ctx = EVP_CIPHER_CTX_new(); + // todo: ctx error handling + + EVP_EncryptInit(ctx, EVP_rc4(), salt, NULL); unsigned char unique_id[MAC_ADDRESS_BYTES]; LLMachineID::getUniqueID(unique_id, sizeof(unique_id)); LLXORCipher cipher(unique_id, sizeof(unique_id)); @@ -1421,13 +1424,13 @@ void LLSecAPIBasicHandler::_writeProtectedData() break; } int encrypted_length; - EVP_EncryptUpdate(&ctx, encrypted_buffer, &encrypted_length, + EVP_EncryptUpdate(ctx, encrypted_buffer, &encrypted_length, buffer, formatted_data_istream.gcount()); protected_data_stream.write((const char *)encrypted_buffer, encrypted_length); } // no EVP_EncrypteFinal, as this is a stream cipher - EVP_CIPHER_CTX_cleanup(&ctx); + EVP_CIPHER_CTX_free(ctx); protected_data_stream.close(); } @@ -1439,6 +1442,11 @@ void LLSecAPIBasicHandler::_writeProtectedData() // it may be, however. LLFile::remove(tmp_filename); + if (ctx) + { + EVP_CIPHER_CTX_free(ctx); + } + // EXP-1825 crash in LLSecAPIBasicHandler::_writeProtectedData() // Decided throwing an exception here was overkill until we figure out why this happens //LLTHROW(LLProtectedDataException("Error writing Protected Data Store")); @@ -1491,7 +1499,7 @@ LLPointer LLSecAPIBasicHandler::getCertificate(X509* openssl_cert } // instantiate a chain from an X509_STORE_CTX -LLPointer LLSecAPIBasicHandler::getCertificateChain(const X509_STORE_CTX* chain) +LLPointer LLSecAPIBasicHandler::getCertificateChain(X509_STORE_CTX* chain) { LLPointer result = new LLBasicCertificateChain(chain); return result; diff --git a/indra/newview/llsechandler_basic.h b/indra/newview/llsechandler_basic.h index 0bc7f5230f..82670f9083 100644 --- a/indra/newview/llsechandler_basic.h +++ b/indra/newview/llsechandler_basic.h @@ -197,7 +197,7 @@ class LLBasicCertificateChain : virtual public LLBasicCertificateVector, public { public: - LLBasicCertificateChain(const X509_STORE_CTX * store); + LLBasicCertificateChain(X509_STORE_CTX * store); virtual ~LLBasicCertificateChain() {} @@ -241,7 +241,7 @@ public: virtual LLPointer getCertificate(X509* openssl_cert); // instantiate a chain from an X509_STORE_CTX - virtual LLPointer getCertificateChain(const X509_STORE_CTX* chain); + virtual LLPointer getCertificateChain(X509_STORE_CTX* chain); // instantiate a cert store given it's id. if a persisted version // exists, it'll be loaded. If not, one will be created (but not diff --git a/indra/newview/tests/llsecapi_test.cpp b/indra/newview/tests/llsecapi_test.cpp index caa3016d2e..37fbbb449b 100644 --- a/indra/newview/tests/llsecapi_test.cpp +++ b/indra/newview/tests/llsecapi_test.cpp @@ -57,7 +57,7 @@ void LLSecAPIBasicHandler::init() {} LLSecAPIBasicHandler::~LLSecAPIBasicHandler() {} LLPointer LLSecAPIBasicHandler::getCertificate(const std::string& pem_cert) { return NULL; } LLPointer LLSecAPIBasicHandler::getCertificate(X509* openssl_cert) { return NULL; } -LLPointer LLSecAPIBasicHandler::getCertificateChain(const X509_STORE_CTX* chain) { return NULL; } +LLPointer LLSecAPIBasicHandler::getCertificateChain(X509_STORE_CTX* chain) { return NULL; } LLPointer LLSecAPIBasicHandler::getCertificateStore(const std::string& store_id) { return NULL; } void LLSecAPIBasicHandler::setProtectedData(const std::string& data_type, const std::string& data_id, const LLSD& data) {} void LLSecAPIBasicHandler::addToProtectedMap(const std::string& data_type, const std::string& data_id, const std::string& map_elem, const LLSD& data) {} diff --git a/indra/newview/tests/llsechandler_basic_test.cpp b/indra/newview/tests/llsechandler_basic_test.cpp index e5d226a2a4..4c8d6c51b0 100644 --- a/indra/newview/tests/llsechandler_basic_test.cpp +++ b/indra/newview/tests/llsechandler_basic_test.cpp @@ -1217,8 +1217,8 @@ namespace tut // Single cert in the chain. X509_STORE_CTX *test_store = X509_STORE_CTX_new(); - test_store->cert = mX509ChildCert; - test_store->untrusted = NULL; + X509_STORE_CTX_set_cert(test_store, mX509ChildCert); + X509_STORE_CTX_set0_untrusted(test_store, NULL); test_chain = new LLBasicCertificateChain(test_store); X509_STORE_CTX_free(test_store); ensure_equals("two elements in store", test_chain->size(), 1); @@ -1229,9 +1229,9 @@ namespace tut // cert + CA test_store = X509_STORE_CTX_new(); - test_store->cert = mX509ChildCert; - test_store->untrusted = sk_X509_new_null(); - sk_X509_push(test_store->untrusted, mX509IntermediateCert); + X509_STORE_CTX_set_cert(test_store, mX509ChildCert); + X509_STORE_CTX_set0_untrusted(test_store, sk_X509_new_null()); + sk_X509_push(X509_STORE_CTX_get0_untrusted(test_store), mX509IntermediateCert); test_chain = new LLBasicCertificateChain(test_store); X509_STORE_CTX_free(test_store); ensure_equals("two elements in store", test_chain->size(), 2); @@ -1245,9 +1245,9 @@ namespace tut // cert + nonrelated test_store = X509_STORE_CTX_new(); - test_store->cert = mX509ChildCert; - test_store->untrusted = sk_X509_new_null(); - sk_X509_push(test_store->untrusted, mX509TestCert); + X509_STORE_CTX_set_cert(test_store, mX509ChildCert); + X509_STORE_CTX_set0_untrusted(test_store, sk_X509_new_null()); + sk_X509_push(X509_STORE_CTX_get0_untrusted(test_store), mX509TestCert); test_chain = new LLBasicCertificateChain(test_store); X509_STORE_CTX_free(test_store); ensure_equals("two elements in store", test_chain->size(), 1); @@ -1257,10 +1257,10 @@ namespace tut // cert + CA + nonrelated test_store = X509_STORE_CTX_new(); - test_store->cert = mX509ChildCert; - test_store->untrusted = sk_X509_new_null(); - sk_X509_push(test_store->untrusted, mX509IntermediateCert); - sk_X509_push(test_store->untrusted, mX509TestCert); + X509_STORE_CTX_set_cert(test_store, mX509ChildCert); + X509_STORE_CTX_set0_untrusted(test_store, sk_X509_new_null()); + sk_X509_push(X509_STORE_CTX_get0_untrusted(test_store), mX509IntermediateCert); + sk_X509_push(X509_STORE_CTX_get0_untrusted(test_store), mX509TestCert); test_chain = new LLBasicCertificateChain(test_store); X509_STORE_CTX_free(test_store); ensure_equals("two elements in store", test_chain->size(), 2); @@ -1273,10 +1273,10 @@ namespace tut // cert + intermediate + CA test_store = X509_STORE_CTX_new(); - test_store->cert = mX509ChildCert; - test_store->untrusted = sk_X509_new_null(); - sk_X509_push(test_store->untrusted, mX509IntermediateCert); - sk_X509_push(test_store->untrusted, mX509RootCert); + X509_STORE_CTX_set_cert(test_store, mX509ChildCert); + X509_STORE_CTX_set0_untrusted(test_store, sk_X509_new_null()); + sk_X509_push(X509_STORE_CTX_get0_untrusted(test_store), mX509IntermediateCert); + sk_X509_push(X509_STORE_CTX_get0_untrusted(test_store), mX509RootCert); test_chain = new LLBasicCertificateChain(test_store); X509_STORE_CTX_free(test_store); ensure_equals("three elements in store", test_chain->size(), 3); diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index eb5071c2b8..43dcc6fffe 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -553,9 +553,13 @@ class WindowsManifest(ViewerManifest): self.path("vivoxsdk.dll") self.path("ortp.dll") - # Security - self.path("ssleay32.dll") - self.path("libeay32.dll") + # OpenSSL + if (self.address_size == 64): + self.path("libcrypto-1_1-x64.dll") + self.path("libssl-1_1-x64.dll") + else: + self.path("libcrypto-1_1.dll") + self.path("libssl-1_1.dll") # HTTP/2 self.path("nghttp2.dll") From a791a22b1b00416fc6f84240dd95113a3787668d Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 9 Sep 2021 00:20:57 +0300 Subject: [PATCH 28/91] SL-14541 remove mac-crash-logger --- indra/CMakeLists.txt | 3 - indra/llcommon/llapp.cpp | 70 +- indra/mac_crash_logger/CMakeLists.txt | 95 - indra/mac_crash_logger/CrashReporter.nib | Bin 32286 -> 0 bytes indra/mac_crash_logger/CrashReporter.xib | 3895 ----------------- indra/mac_crash_logger/Info.plist | 28 - indra/mac_crash_logger/README.txt | 3 - indra/mac_crash_logger/llcrashloggermac.cpp | 91 - indra/mac_crash_logger/llcrashloggermac.h | 45 - .../llcrashloggermacdelegate.h | 52 - .../llcrashloggermacdelegate.mm | 75 - indra/mac_crash_logger/mac_crash_logger.cpp | 58 - indra/newview/CMakeLists.txt | 4 - indra/newview/llappviewermacosx.cpp | 9 +- 14 files changed, 9 insertions(+), 4419 deletions(-) delete mode 100644 indra/mac_crash_logger/CMakeLists.txt delete mode 100755 indra/mac_crash_logger/CrashReporter.nib delete mode 100755 indra/mac_crash_logger/CrashReporter.xib delete mode 100644 indra/mac_crash_logger/Info.plist delete mode 100644 indra/mac_crash_logger/README.txt delete mode 100644 indra/mac_crash_logger/llcrashloggermac.cpp delete mode 100644 indra/mac_crash_logger/llcrashloggermac.h delete mode 100644 indra/mac_crash_logger/llcrashloggermacdelegate.h delete mode 100644 indra/mac_crash_logger/llcrashloggermacdelegate.mm delete mode 100644 indra/mac_crash_logger/mac_crash_logger.cpp diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index ef72edf75d..922075c090 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -73,9 +73,6 @@ if (LINUX) add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR}) endif (INSTALL_PROPRIETARY) add_dependencies(viewer linux-crash-logger-strip-target) -elseif (DARWIN) - add_subdirectory(${VIEWER_PREFIX}mac_crash_logger) - add_dependencies(viewer mac-crash-logger) elseif (WINDOWS) # cmake EXISTS requires an absolute path, see indra/cmake/Variables.cmake if (EXISTS ${VIEWER_DIR}win_setup) diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index a5300adf87..df2a066f62 100644 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -385,70 +385,16 @@ void LLApp::setupErrorHandling(bool second_instance) #else // ! LL_WINDOWS -#if defined(LL_BUGSPLAT) - // Don't install our own signal handlers -- BugSplat needs to hook them, - // or it's completely ineffectual. - bool installHandler = false; - -#else // ! LL_BUGSPLAT - // - // Start up signal handling. - // - // There are two different classes of signals. Synchronous signals are delivered to a specific - // thread, asynchronous signals can be delivered to any thread (in theory) - // - setup_signals(); - - // Add google breakpad exception handler configured for Darwin/Linux. - bool installHandler = true; +#if ! defined(LL_BUGSPLAT) + // + // Start up signal handling. + // + // There are two different classes of signals. Synchronous signals are delivered to a specific + // thread, asynchronous signals can be delivered to any thread (in theory) + // + setup_signals(); #endif // ! LL_BUGSPLAT -#if LL_DARWIN - // For the special case of Darwin, we do not want to install the handler if - // the process is being debugged as the app will exit with value ABRT (6) if - // we do. Unfortunately, the code below which performs that test relies on - // the structure kinfo_proc which has been tagged by apple as an unstable - // API. We disable this test for shipping versions to avoid conflicts with - // future releases of Darwin. This test is really only needed for developers - // starting the app from a debugger anyway. - #ifndef LL_RELEASE_FOR_DOWNLOAD - int mib[4]; - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_PID; - mib[3] = getpid(); - - struct kinfo_proc info; - memset(&info, 0, sizeof(info)); - - size_t size = sizeof(info); - int result = sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &size, NULL, 0); - if((result == 0) || (errno == ENOMEM)) - { - // P_TRACED flag is set, so this process is being debugged; do not install - // the handler - if(info.kp_proc.p_flag & P_TRACED) installHandler = false; - } - else - { - // Failed to discover if the process is being debugged; default to - // installing the handler. - installHandler = true; - } - #endif // ! LL_RELEASE_FOR_DOWNLOAD - -#elif LL_LINUX - if(installHandler && (mExceptionHandler == 0)) - { - if (mDumpPath.empty()) - { - mDumpPath = "/tmp"; - } - google_breakpad::MinidumpDescriptor desc(mDumpPath); - mExceptionHandler = new google_breakpad::ExceptionHandler(desc, NULL, unix_minidump_callback, NULL, true, -1); - } -#endif // LL_LINUX - #endif // ! LL_WINDOWS #ifdef LL_BUGSPLAT diff --git a/indra/mac_crash_logger/CMakeLists.txt b/indra/mac_crash_logger/CMakeLists.txt deleted file mode 100644 index 95637c9a28..0000000000 --- a/indra/mac_crash_logger/CMakeLists.txt +++ /dev/null @@ -1,95 +0,0 @@ -# -*- cmake -*- - -project(mac_crash_logger) - -include(00-Common) -include(LLCommon) -include(LLCoreHttp) -include(LLCrashLogger) -include(LLMath) -include(LLMessage) -include(LLVFS) -include(LLXML) -include(Linking) -include(LLSharedLibs) -include(Boost) - -include_directories( - ${LLCOREHTTP_INCLUDE_DIRS} - ${LLCOMMON_INCLUDE_DIRS} - ${LLCRASHLOGGER_INCLUDE_DIRS} - ${LLMATH_INCLUDE_DIRS} - ${LLVFS_INCLUDE_DIRS} - ${LLXML_INCLUDE_DIRS} - ) -include_directories(SYSTEM - ${LLCOMMON_SYSTEM_INCLUDE_DIRS} - ${LLXML_SYSTEM_INCLUDE_DIRS} - ) - -set(mac_crash_logger_SOURCE_FILES - mac_crash_logger.cpp - llcrashloggermac.cpp - llcrashloggermacdelegate.mm - ) - -set(mac_crash_logger_HEADER_FILES - CMakeLists.txt - - llcrashloggermac.h - llcrashloggermacdelegate.h - ) - -set_source_files_properties(${mac_crash_logger_HEADER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) -list(APPEND mac_crash_logger_SOURCE_FILES ${mac_crash_logger_HEADER_FILES}) - -set(mac_crash_logger_RESOURCE_FILES - CrashReporter.nib/ - ) -set_source_files_properties( - ${mac_crash_logger_RESOURCE_FILES} - PROPERTIES - HEADER_FILE_ONLY TRUE - ) -SOURCE_GROUP("Resources" FILES ${mac_crash_logger_RESOURCE_FILES}) -list(APPEND mac_crash_logger_SOURCE_FILES ${mac_crash_logger_RESOURCE_FILES}) - -add_executable(mac-crash-logger - MACOSX_BUNDLE - ${mac_crash_logger_SOURCE_FILES}) - -set_target_properties(mac-crash-logger - PROPERTIES - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist - ) - -find_library(COCOA_LIBRARY Cocoa) - -target_link_libraries(mac-crash-logger - ${LLCRASHLOGGER_LIBRARIES} - ${LLVFS_LIBRARIES} - ${COCOA_LIBRARIES} - ${LLXML_LIBRARIES} - ${LLMESSAGE_LIBRARIES} - ${LLVFS_LIBRARIES} - ${LLMATH_LIBRARIES} - ${LLCOREHTTP_LIBRARIES} - ${LLCOMMON_LIBRARIES} - ${BOOST_CONTEXT_LIBRARY} - ${BOOST_FIBER_LIBRARY} - ) - -add_custom_command( - TARGET mac-crash-logger POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS - -E - copy_if_different - ${CMAKE_CURRENT_SOURCE_DIR}/CrashReporter.nib - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mac-crash-logger.app/Contents/Resources/CrashReporter.nib - ) - -ll_deploy_sharedlibs_command(mac-crash-logger) - - diff --git a/indra/mac_crash_logger/CrashReporter.nib b/indra/mac_crash_logger/CrashReporter.nib deleted file mode 100755 index e9d9e059855078b54b9d1d3c382f7f241cab9e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32286 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 - - - 1070 - 11G63 - 2182 - 1138.51 - 569.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 2182 - - - NSTextField - NSView - NSWindowTemplate - NSMenu - NSMenuItem - NSTextFieldCell - NSButtonCell - IBNSLayoutConstraint - NSButton - NSCustomObject - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - NSApplication - - - FirstResponder - - - NSApplication - - - AMainMenu - - - - Second Life Crash Logger - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - Second Life Crash Logger - - - - About Second Life Crash Logger - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - Services - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide Second Life Crash Logger - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit Second Life Crash Logger - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - - File - - 1048576 - 2147483647 - - - submenuAction: - - File - - - - New - n - 1048576 - 2147483647 - - - - - - Open… - o - 1048576 - 2147483647 - - - - - - Open Recent - - 1048576 - 2147483647 - - - submenuAction: - - Open Recent - - - - Clear Menu - - 1048576 - 2147483647 - - - - - _NSRecentDocumentsMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Close - w - 1048576 - 2147483647 - - - - - - Save… - s - 1048576 - 2147483647 - - - - - - Revert to Saved - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Page Setup... - P - 1179648 - 2147483647 - - - - - - - Print… - p - 1048576 - 2147483647 - - - - - - - - - Edit - - 1048576 - 2147483647 - - - submenuAction: - - Edit - - - - Undo - z - 1048576 - 2147483647 - - - - - - Redo - Z - 1179648 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Cut - x - 1048576 - 2147483647 - - - - - - Copy - c - 1048576 - 2147483647 - - - - - - Paste - v - 1048576 - 2147483647 - - - - - - Paste and Match Style - V - 1572864 - 2147483647 - - - - - - Delete - - 1048576 - 2147483647 - - - - - - Select All - a - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Find - - 1048576 - 2147483647 - - - submenuAction: - - Find - - - - Find… - f - 1048576 - 2147483647 - - - 1 - - - - Find and Replace… - f - 1572864 - 2147483647 - - - 12 - - - - Find Next - g - 1048576 - 2147483647 - - - 2 - - - - Find Previous - G - 1179648 - 2147483647 - - - 3 - - - - Use Selection for Find - e - 1048576 - 2147483647 - - - 7 - - - - Jump to Selection - j - 1048576 - 2147483647 - - - - - - - - - Spelling and Grammar - - 1048576 - 2147483647 - - - submenuAction: - - Spelling and Grammar - - - - Show Spelling and Grammar - : - 1048576 - 2147483647 - - - - - - Check Document Now - ; - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Check Spelling While Typing - - 1048576 - 2147483647 - - - - - - Check Grammar With Spelling - - 1048576 - 2147483647 - - - - - - Correct Spelling Automatically - - 2147483647 - - - - - - - - - Substitutions - - 1048576 - 2147483647 - - - submenuAction: - - Substitutions - - - - Show Substitutions - - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Smart Copy/Paste - f - 1048576 - 2147483647 - - - 1 - - - - Smart Quotes - g - 1048576 - 2147483647 - - - 2 - - - - Smart Dashes - - 2147483647 - - - - - - Smart Links - G - 1179648 - 2147483647 - - - 3 - - - - Text Replacement - - 2147483647 - - - - - - - - - Transformations - - 2147483647 - - - submenuAction: - - Transformations - - - - Make Upper Case - - 2147483647 - - - - - - Make Lower Case - - 2147483647 - - - - - - Capitalize - - 2147483647 - - - - - - - - - Speech - - 1048576 - 2147483647 - - - submenuAction: - - Speech - - - - Start Speaking - - 1048576 - 2147483647 - - - - - - Stop Speaking - - 1048576 - 2147483647 - - - - - - - - - - - - Format - - 2147483647 - - - submenuAction: - - Format - - - - Font - - 2147483647 - - - submenuAction: - - Font - - - - Show Fonts - t - 1048576 - 2147483647 - - - - - - Bold - b - 1048576 - 2147483647 - - - 2 - - - - Italic - i - 1048576 - 2147483647 - - - 1 - - - - Underline - u - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Bigger - + - 1048576 - 2147483647 - - - 3 - - - - Smaller - - - 1048576 - 2147483647 - - - 4 - - - - YES - YES - - - 2147483647 - - - - - - Kern - - 2147483647 - - - submenuAction: - - Kern - - - - Use Default - - 2147483647 - - - - - - Use None - - 2147483647 - - - - - - Tighten - - 2147483647 - - - - - - Loosen - - 2147483647 - - - - - - - - - Ligature - - 2147483647 - - - submenuAction: - - Ligature - - - - Use Default - - 2147483647 - - - - - - Use None - - 2147483647 - - - - - - Use All - - 2147483647 - - - - - - - - - Baseline - - 2147483647 - - - submenuAction: - - Baseline - - - - Use Default - - 2147483647 - - - - - - Superscript - - 2147483647 - - - - - - Subscript - - 2147483647 - - - - - - Raise - - 2147483647 - - - - - - Lower - - 2147483647 - - - - - - - - - YES - YES - - - 2147483647 - - - - - - Show Colors - C - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Copy Style - c - 1572864 - 2147483647 - - - - - - Paste Style - v - 1572864 - 2147483647 - - - - - _NSFontMenu - - - - - Text - - 2147483647 - - - submenuAction: - - Text - - - - Align Left - { - 1048576 - 2147483647 - - - - - - Center - | - 1048576 - 2147483647 - - - - - - Justify - - 2147483647 - - - - - - Align Right - } - 1048576 - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - Writing Direction - - 2147483647 - - - submenuAction: - - Writing Direction - - - - YES - Paragraph - - 2147483647 - - - - - - CURlZmF1bHQ - - 2147483647 - - - - - - CUxlZnQgdG8gUmlnaHQ - - 2147483647 - - - - - - CVJpZ2h0IHRvIExlZnQ - - 2147483647 - - - - - - YES - YES - - - 2147483647 - - - - - - YES - Selection - - 2147483647 - - - - - - CURlZmF1bHQ - - 2147483647 - - - - - - CUxlZnQgdG8gUmlnaHQ - - 2147483647 - - - - - - CVJpZ2h0IHRvIExlZnQ - - 2147483647 - - - - - - - - - YES - YES - - - 2147483647 - - - - - - Show Ruler - - 2147483647 - - - - - - Copy Ruler - c - 1310720 - 2147483647 - - - - - - Paste Ruler - v - 1310720 - 2147483647 - - - - - - - - - - - - View - - 1048576 - 2147483647 - - - submenuAction: - - View - - - - Show Toolbar - t - 1572864 - 2147483647 - - - - - - Customize Toolbar… - - 1048576 - 2147483647 - - - - - - - - - Window - - 1048576 - 2147483647 - - - submenuAction: - - Window - - - - Minimize - m - 1048576 - 2147483647 - - - - - - Zoom - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Bring All to Front - - 1048576 - 2147483647 - - - - - _NSWindowsMenu - - - - - Help - - 2147483647 - - - submenuAction: - - Help - - - - Second Life Crash Logger Help - ? - 1048576 - 2147483647 - - - - - _NSHelpMenu - - - - _NSMainMenu - - - 15 - 2 - {{335, 390}, {508, 477}} - 1954021376 - Second Life Crash Logger - NSWindow - - - - - 256 - - - - 268 - {{17, 228}, {474, 229}} - - - - _NS:9 - {250, 750} - YES - - 67239424 - 272891904 - - U2Vjb25kIExpZmUgYXBwZWFycyB0byBoYXZlIGNyYXNoZWQgb3IgZnJvemVuIHRoZSBsYXN0IHRpbWUg -aXQgcmFuLgoKVGhpcyBjcmFzaCByZXBvcnRlciBjb2xsZWN0cyBpbmZvcm1hdGlvbiBhYm91dCB5b3Vy -IGNvbXB1dGVyJ3MgaGFyZHdhcmUgY29uZmlndXJhdGlvbiwgb3BlcmF0aW5nIHN5c3RlbSwgYW5kIHNv -bWUgU2Vjb25kIExpZmUgbG9ncywgYWxsIG9mIHdoaWNoIGFyZSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVy -cG9zZXMgb25seS4KCkluIHRoZSBzcGFjZSBiZWxvdywgcGxlYXNlIGJyaWVmbHkgZGVzY3JpYmUgd2hh -dCB5b3Ugd2VyZSBkb2luZyBvciB0cnlpbmcgdG8gZG8ganVzdCBwcmlvciB0byB0aGUgY3Jhc2guICBU -aGFuayB5b3UgZm9yIHlvdXIgaGVscCEKClRoaXMgcmVwb3J0IGlzIE5PVCByZWFkIGJ5IEN1c3RvbWVy -IFN1cHBvcnQuICBJZiB5b3UgaGF2ZSBiaWxsaW5nIG9yIG90aGVyIHF1ZXN0aW9ucywgcGxlYXNlIGdv -IHRvOiBodHRwOi8vd3d3LnNlY29uZGxpZmUuY29tL3N1cHBvcnQvCgpJZiB5b3UgZG9uJ3Qgd2lzaCB0 -byBzZW5kIExpbmRlbiBMYWIgYSBjcmFzaCByZXBvcnQsIHByZXNzIENhbmNlbC4 - - - LucidaGrande - 13 - 16 - - _NS:9 - - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - controlTextColor - - 3 - MAA - - - - - - - 268 - {{20, 64}, {468, 163}} - - - - _NS:9 - {250, 750} - YES - - -1805517311 - 272891904 - - - LucidaGrande - 9 - 3614 - - _NS:9 - - YES - - 6 - System - textBackgroundColor - - 3 - MQA - - - - 6 - System - textColor - - - - - - - 268 - {{16, 18}, {189, 30}} - - - - _NS:9 - YES - - -2080244224 - 262144 - Remember This Choice - - _NS:9 - - 1211912703 - 2 - - NSImage - NSSwitch - - - NSSwitch - - - - 200 - 25 - - - - - 268 - {{285, 23}, {91, 17}} - - - - _NS:9 - YES - - -2080244224 - 134479872 - Send Report - - _NS:9 - - -2038152961 - 164 - - - 400 - 75 - - - - - 268 - {{388, 23}, {100, 17}} - - - - _NS:9 - YES - - -2080244224 - 134479872 - Don't Send - - _NS:9 - - -2038152961 - 164 - - - 400 - 75 - - - - {508, 477} - - - - - {{0, 0}, {1680, 1028}} - {10000000000000, 10000000000000} - YES - - - LLCrashLoggerMacDelegate - - - - - - - terminate: - - - - 449 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - delegate - - - - 495 - - - - performMiniaturize: - - - - 37 - - - - arrangeInFront: - - - - 39 - - - - print: - - - - 86 - - - - runPageLayout: - - - - 87 - - - - clearRecentDocuments: - - - - 127 - - - - performClose: - - - - 193 - - - - toggleContinuousSpellChecking: - - - - 222 - - - - undo: - - - - 223 - - - - copy: - - - - 224 - - - - checkSpelling: - - - - 225 - - - - paste: - - - - 226 - - - - stopSpeaking: - - - - 227 - - - - cut: - - - - 228 - - - - showGuessPanel: - - - - 230 - - - - redo: - - - - 231 - - - - selectAll: - - - - 232 - - - - startSpeaking: - - - - 233 - - - - delete: - - - - 235 - - - - performZoom: - - - - 240 - - - - performFindPanelAction: - - - - 241 - - - - centerSelectionInVisibleArea: - - - - 245 - - - - toggleGrammarChecking: - - - - 347 - - - - toggleSmartInsertDelete: - - - - 355 - - - - toggleAutomaticQuoteSubstitution: - - - - 356 - - - - toggleAutomaticLinkDetection: - - - - 357 - - - - saveDocument: - - - - 362 - - - - revertDocumentToSaved: - - - - 364 - - - - runToolbarCustomizationPalette: - - - - 365 - - - - toggleToolbarShown: - - - - 366 - - - - hide: - - - - 367 - - - - hideOtherApplications: - - - - 368 - - - - unhideAllApplications: - - - - 370 - - - - newDocument: - - - - 373 - - - - openDocument: - - - - 374 - - - - raiseBaseline: - - - - 426 - - - - lowerBaseline: - - - - 427 - - - - copyFont: - - - - 428 - - - - subscript: - - - - 429 - - - - superscript: - - - - 430 - - - - tightenKerning: - - - - 431 - - - - underline: - - - - 432 - - - - orderFrontColorPanel: - - - - 433 - - - - useAllLigatures: - - - - 434 - - - - loosenKerning: - - - - 435 - - - - pasteFont: - - - - 436 - - - - unscript: - - - - 437 - - - - useStandardKerning: - - - - 438 - - - - useStandardLigatures: - - - - 439 - - - - turnOffLigatures: - - - - 440 - - - - turnOffKerning: - - - - 441 - - - - toggleAutomaticSpellingCorrection: - - - - 456 - - - - orderFrontSubstitutionsPanel: - - - - 458 - - - - toggleAutomaticDashSubstitution: - - - - 461 - - - - toggleAutomaticTextReplacement: - - - - 463 - - - - uppercaseWord: - - - - 464 - - - - capitalizeWord: - - - - 467 - - - - lowercaseWord: - - - - 468 - - - - pasteAsPlainText: - - - - 486 - - - - performFindPanelAction: - - - - 487 - - - - performFindPanelAction: - - - - 488 - - - - performFindPanelAction: - - - - 489 - - - - showHelp: - - - - 493 - - - - alignCenter: - - - - 518 - - - - pasteRuler: - - - - 519 - - - - toggleRuler: - - - - 520 - - - - alignRight: - - - - 521 - - - - copyRuler: - - - - 522 - - - - alignJustified: - - - - 523 - - - - alignLeft: - - - - 524 - - - - makeBaseWritingDirectionNatural: - - - - 525 - - - - makeBaseWritingDirectionLeftToRight: - - - - 526 - - - - makeBaseWritingDirectionRightToLeft: - - - - 527 - - - - makeTextWritingDirectionNatural: - - - - 528 - - - - makeTextWritingDirectionLeftToRight: - - - - 529 - - - - makeTextWritingDirectionRightToLeft: - - - - 530 - - - - performFindPanelAction: - - - - 535 - - - - window - - - - 532 - - - - remember: - - - - 1176 - - - - send: - - - - 1177 - - - - cancel: - - - - 1178 - - - - crashText - - - - 1179 - - - - rememberCheck - - - - 1187 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 29 - - - - - - - - - - - - - - 19 - - - - - - - - 56 - - - - - - - - 217 - - - - - - - - 83 - - - - - - - - 81 - - - - - - - - - - - - - - - - - 75 - - - - - 78 - - - - - 72 - - - - - 82 - - - - - 124 - - - - - - - - 77 - - - - - 73 - - - - - 79 - - - - - 112 - - - - - 74 - - - - - 125 - - - - - - - - 126 - - - - - 205 - - - - - - - - - - - - - - - - - - - - - - 202 - - - - - 198 - - - - - 207 - - - - - 214 - - - - - 199 - - - - - 203 - - - - - 197 - - - - - 206 - - - - - 215 - - - - - 218 - - - - - - - - 216 - - - - - - - - 200 - - - - - - - - - - - - - 219 - - - - - 201 - - - - - 204 - - - - - 220 - - - - - - - - - - - - - 213 - - - - - 210 - - - - - 221 - - - - - 208 - - - - - 209 - - - - - 57 - - - - - - - - - - - - - - - - - - 58 - - - - - 134 - - - - - 150 - - - - - 136 - - - - - 144 - - - - - 129 - - - - - 143 - - - - - 236 - - - - - 131 - - - - - - - - 149 - - - - - 145 - - - - - 130 - - - - - 24 - - - - - - - - - - - 92 - - - - - 5 - - - - - 239 - - - - - 23 - - - - - 295 - - - - - - - - 296 - - - - - - - - - 297 - - - - - 298 - - - - - 211 - - - - - - - - 212 - - - - - - - - - 195 - - - - - 196 - - - - - 346 - - - - - 348 - - - - - - - - 349 - - - - - - - - - - - - - - 350 - - - - - 351 - - - - - 354 - - - - - 371 - - - - - - - - 372 - - - - - - - - 3 - 0 - - 3 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - 4 - 0 - - 4 - 1 - - 64 - - 1000 - 3 - 9 - 3 - - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - 4 - 0 - - 4 - 1 - - 21 - - 1000 - 3 - 9 - 3 - - - - - 6 - 0 - - 6 - 1 - - 132 - - 1000 - 3 - 9 - 3 - - - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - 6 - 24 - 2 - - - - - 10 - 0 - - 10 - 1 - - 0.0 - - 1000 - 6 - 24 - 2 - - - - - - - 375 - - - - - - - - 376 - - - - - - - - - 377 - - - - - - - - 388 - - - - - - - - - - - - - - - - - - - - - - - 389 - - - - - 390 - - - - - 391 - - - - - 392 - - - - - 393 - - - - - 394 - - - - - 395 - - - - - 396 - - - - - 397 - - - - - - - - 398 - - - - - - - - 399 - - - - - - - - 400 - - - - - 401 - - - - - 402 - - - - - 403 - - - - - 404 - - - - - 405 - - - - - - - - - - - - 406 - - - - - 407 - - - - - 408 - - - - - 409 - - - - - 410 - - - - - 411 - - - - - - - - - - 412 - - - - - 413 - - - - - 414 - - - - - 415 - - - - - - - - - - - 416 - - - - - 417 - - - - - 418 - - - - - 419 - - - - - 450 - - - - - - - - 451 - - - - - - - - - - 452 - - - - - 453 - - - - - 454 - - - - - 457 - - - - - 459 - - - - - 460 - - - - - 462 - - - - - 465 - - - - - 466 - - - - - 485 - - - - - 490 - - - - - - - - 491 - - - - - - - - 492 - - - - - 494 - - - - - 496 - - - - - - - - 497 - - - - - - - - - - - - - - - - - 498 - - - - - 499 - - - - - 500 - - - - - 501 - - - - - 502 - - - - - 503 - - - - - - - - 504 - - - - - 505 - - - - - 506 - - - - - 507 - - - - - 508 - - - - - - - - - - - - - - - - 509 - - - - - 510 - - - - - 511 - - - - - 512 - - - - - 513 - - - - - 514 - - - - - 515 - - - - - 516 - - - - - 517 - - - - - 534 - - - - - 536 - - - - - - 8 - 0 - - 0 - 1 - - 229 - - 1000 - 3 - 9 - 1 - - - - - - - 537 - - - - - 593 - - - - - - 8 - 0 - - 0 - 1 - - 163 - - 1000 - 3 - 9 - 1 - - - - - - - 594 - - - - - 727 - - - - - - 7 - 0 - - 0 - 1 - - 183 - - 1000 - 3 - 9 - 1 - - - - - 8 - 0 - - 0 - 1 - - 22 - - 1000 - 3 - 9 - 1 - - - - - - - 728 - - - - - 775 - - - - - - - - 776 - - - - - 780 - - - - - - 7 - 0 - - 0 - 1 - - 100 - - 1000 - 3 - 9 - 1 - - - - - - - 781 - - - - - 884 - - - - - 981 - - - - - 982 - - - - - 1022 - - - - - 1026 - - - - - 979 - - - - - 985 - - - - - 977 - - - - - 1099 - - - - - 1093 - - - - - 1100 - - - - - 1098 - - - - - 1168 - - - - - 1167 - - - - - 1095 - - - - - 1166 - - - - - 1076 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{380, 496}, {480, 360}} - - - - - - - - - - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 1187 - - - - - LLCrashLoggerMacDelegate - NSObject - - id - id - id - - - - cancel: - id - - - remember: - id - - - send: - id - - - - NSTextField - NSButton - NSWindow - - - - crashText - NSTextField - - - rememberCheck - NSButton - - - window - NSWindow - - - - IBProjectSource - ./Classes/LLCrashLoggerMacDelegate.h - - - - NSLayoutConstraint - NSObject - - IBProjectSource - ./Classes/NSLayoutConstraint.h - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - 3 - - {11, 11} - {10, 3} - {15, 15} - - YES - - diff --git a/indra/mac_crash_logger/Info.plist b/indra/mac_crash_logger/Info.plist deleted file mode 100644 index 2ebed11c3f..0000000000 --- a/indra/mac_crash_logger/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mac-crash-logger - CFBundleGetInfoString - - CFBundleIconFile - - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - APPL - CFBundleShortVersionString - - CFBundleSignature - ???? - CFBundleVersion - 1.0.0 - NSMainNibFile - CrashReporter - NSPrincipalClass - NSApplication - - diff --git a/indra/mac_crash_logger/README.txt b/indra/mac_crash_logger/README.txt deleted file mode 100644 index 6932a8d9c3..0000000000 --- a/indra/mac_crash_logger/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -This component is no longer used in Linden Lab builds. -Change requests to support continued use by open source -builds are welcome. diff --git a/indra/mac_crash_logger/llcrashloggermac.cpp b/indra/mac_crash_logger/llcrashloggermac.cpp deleted file mode 100644 index ec3616e26a..0000000000 --- a/indra/mac_crash_logger/llcrashloggermac.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/** - * @file llcrashloggermac.cpp - * @brief Mac OSX crash logger implementation - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - - -#include "llcrashloggermac.h" - -#include - -#include "indra_constants.h" // CRASH_BEHAVIOR_ASK, CRASH_SETTING_NAME -#include "llerror.h" -#include "llfile.h" -#include "lltimer.h" -#include "llstring.h" -#include "lldir.h" -#include "llsdserialize.h" - -// Windows Message Handlers - -BOOL gFirstDialog = TRUE; -LLFILE *gDebugFile = NULL; - -std::string gUserNotes = ""; -bool gSendReport = false; -bool gRememberChoice = false; - -LLCrashLoggerMac::LLCrashLoggerMac(void) -{ -} - -LLCrashLoggerMac::~LLCrashLoggerMac(void) -{ -} - -bool LLCrashLoggerMac::init(void) -{ - bool ok = LLCrashLogger::init(); - return ok; -} - -void LLCrashLoggerMac::gatherPlatformSpecificFiles() -{ -} - -bool LLCrashLoggerMac::frame() -{ - - if (mCrashBehavior == CRASH_BEHAVIOR_ALWAYS_SEND) - { - gSendReport = true; - } - - if(gSendReport) - { - setUserText(gUserNotes); - sendCrashLogs(); - } - - LL_INFOS() << "Sending of logs complete" << LL_ENDL; - - return true; -} - -bool LLCrashLoggerMac::cleanup() -{ - commonCleanup(); - mKeyMaster.releaseMaster(); - return true; -} diff --git a/indra/mac_crash_logger/llcrashloggermac.h b/indra/mac_crash_logger/llcrashloggermac.h deleted file mode 100644 index 05ef8c9f53..0000000000 --- a/indra/mac_crash_logger/llcrashloggermac.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @file llcrashloggermac.h - * @brief Mac OSX crash logger definition - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LLCRASHLOGGERMAC_H -#define LLCRASHLOGGERMAC_H - -#include "linden_common.h" -#include "llcrashlogger.h" -#include "llstring.h" - -class LLCrashLoggerMac : public LLCrashLogger -{ -public: - LLCrashLoggerMac(void); - ~LLCrashLoggerMac(void); - virtual bool init(); - virtual bool frame(); - virtual bool cleanup(); - virtual void gatherPlatformSpecificFiles(); -}; - -#endif diff --git a/indra/mac_crash_logger/llcrashloggermacdelegate.h b/indra/mac_crash_logger/llcrashloggermacdelegate.h deleted file mode 100644 index c998a8efe2..0000000000 --- a/indra/mac_crash_logger/llcrashloggermacdelegate.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @file llcrashloggermacdelegate.h - * @brief Mac OSX crash logger implementation - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -/* -#import - -@interface LLCrashLoggerMacDelegate : NSObject -{ - IBOutlet NSTextField *crashText; - IBOutlet NSButton *rememberCheck; - - NSWindow *_window; - bool mRemember; - -} - -- (void)setWindow:(NSWindow *)newWindow; -- (NSWindow *)window; - -- (IBAction)remember:(id)sender; -- (IBAction)send:(id)sender; -- (IBAction)cancel:(id)sender; - -@property (assign) IBOutlet NSWindow *window; - -@end -*/ - - diff --git a/indra/mac_crash_logger/llcrashloggermacdelegate.mm b/indra/mac_crash_logger/llcrashloggermacdelegate.mm deleted file mode 100644 index b2af76a47c..0000000000 --- a/indra/mac_crash_logger/llcrashloggermacdelegate.mm +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file llcrashloggermacdelegate.mm - * @brief Mac OSX crash logger implementation - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - - -/* -#import "llcrashloggermacdelegate.h" -#include - -extern std::string gUserNotes; -extern bool gSendReport; -extern bool gRememberChoice; - -@implementation LLCrashLoggerMacDelegate - -- (void)setWindow:(NSWindow *)window -{ - _window = window; -} - -- (NSWindow *)window -{ - return _window; -} - -- (void)dealloc -{ - [super dealloc]; -} - -std::string* NSToString( NSString *ns_str ) -{ - return ( new std::string([ns_str UTF8String]) ); -} - -- (IBAction)remember:(id)sender -{ - gRememberChoice = [rememberCheck state]; -} - -- (IBAction)send:(id)sender -{ - std::string* user_input = NSToString([crashText stringValue]); - gUserNotes = *user_input; - gSendReport = true; -} - -- (IBAction)cancel:(id)sender -{ - [ _window close]; -} -@end -*/ \ No newline at end of file diff --git a/indra/mac_crash_logger/mac_crash_logger.cpp b/indra/mac_crash_logger/mac_crash_logger.cpp deleted file mode 100644 index 54e41a1954..0000000000 --- a/indra/mac_crash_logger/mac_crash_logger.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file mac_crash_logger.cpp - * @brief Mac OSX crash logger implementation - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#include "linden_common.h" -#include "llcrashloggermac.h" -#include "indra_constants.h" -#include "llpidlock.h" - -#include - -int main(int argc, char **argv) -{ - LLCrashLoggerMac app; - app.parseCommandOptions(argc, argv); - - LLSD options = LLApp::instance()->getOptionData( - LLApp::PRIORITY_COMMAND_LINE); - - if (! app.init()) - { - LL_WARNS() << "Unable to initialize application." << LL_ENDL; - return 1; - } - - if (app.getCrashBehavior() != CRASH_BEHAVIOR_ALWAYS_SEND) - { -// return NSApplicationMain(argc, (const char **)argv); - } - app.frame(); - app.cleanup(); - - LL_INFOS() << "Crash reporter finished normally." << LL_ENDL; - - return 0; -} diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index cc6d98d1b9..7b8af8fc69 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2218,10 +2218,6 @@ if (DARWIN) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef) - if (NOT USE_BUGSPLAT) - add_dependencies(${VIEWER_BINARY_NAME} mac-crash-logger) - endif (NOT USE_BUGSPLAT) - if (ENABLE_SIGNING) set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}") else (ENABLE_SIGNING) diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp index 7be5f8117c..aa932f9c89 100644 --- a/indra/newview/llappviewermacosx.cpp +++ b/indra/newview/llappviewermacosx.cpp @@ -222,14 +222,7 @@ LLAppViewerMacOSX::~LLAppViewerMacOSX() bool LLAppViewerMacOSX::init() { - bool success = LLAppViewer::init(); - - if (success) - { - LLAppViewer* pApp = LLAppViewer::instance(); - pApp->initCrashReporting(); - } - return success; + return LLAppViewer::init(); } // MacOSX may add and addition command line arguement for the process serial number. From da29b6be10059565867e662935f15a95640371b5 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 9 Sep 2021 14:46:01 +0300 Subject: [PATCH 29/91] SL-14541 Package with fixed minizip-ng version recognition --- autobuild.xml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index f97344c04b..51b88909a9 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -308,9 +308,9 @@ archive hash - ba754816c391d93319f77964284bde2e + 99973077c6739a9283d3f452d94facc2 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87587/804749/colladadom-2.3.563706-darwin64-563706.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87650/805016/colladadom-2.3.563750-darwin64-563750.tar.bz2 name darwin64 @@ -344,9 +344,9 @@ archive hash - 649395b9e3d8b49f6879efc97f52bf49 + 363a408dc345ef7d826887836b001aab url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87590/804763/colladadom-2.3.563706-windows-563706.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87649/805023/colladadom-2.3.563750-windows-563750.tar.bz2 name windows @@ -356,16 +356,16 @@ archive hash - 349f8c5f46a16425463ba15ad1013bf2 + 36f4c117c27f1fd929529710e3eb5439 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87588/804757/colladadom-2.3.563706-windows64-563706.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87648/805028/colladadom-2.3.563750-windows64-563750.tar.bz2 name windows64 version - 2.3.563706 + 2.3.563750 curl @@ -2325,9 +2325,9 @@ archive hash - 6880623b17821b0e19ea277018a39e7f + 3eb82369d98fc2cd3923c70c6038bbe9 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87561/804600/minizip_ng-.563689-darwin64-563689.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87644/804995/minizip_ng-3.0.2.563749-darwin64-563749.tar.bz2 name darwin64 @@ -2337,9 +2337,9 @@ archive hash - bbc8a9dd05cdc9e8150084ea16de3ace + 84c175fd3ba2c333d6620d7edfe406f4 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87560/804605/minizip_ng-.563689-windows-563689.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87647/805006/minizip_ng-3.0.2.563749-windows-563749.tar.bz2 name windows @@ -2349,16 +2349,16 @@ archive hash - 89af88d850467ee736c6e7ccaaeadb7e + 572db3e4373daf92a132e5de156c545f url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87559/804602/minizip_ng-.563689-windows64-563689.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87646/805007/minizip_ng-3.0.2.563749-windows64-563749.tar.bz2 name windows64 version - .563689 + 3.0.2.563749 nghttp2 From a6313e90aa3efa83b20850c162f288a3a7f246bd Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 9 Sep 2021 14:52:55 +0300 Subject: [PATCH 30/91] SL-14541 MacOS build fix --- indra/cmake/LLPrimitive.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index 91bba98840..4e34951215 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -32,7 +32,7 @@ elseif (DARWIN) llprimitive debug collada14dom-d optimized collada14dom - libminizip # for collada + minizip # for collada libminizip.a xml2 pcrecpp pcre @@ -43,7 +43,7 @@ elseif (LINUX) llprimitive debug collada14dom-d optimized collada14dom - libminizip + minizip xml2 pcrecpp pcre From b7dc69f147a2ff4a61667fce2e302f2b1602f3db Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Sat, 11 Sep 2021 17:07:46 +0300 Subject: [PATCH 31/91] SL-14541 Packages with fixed license label --- autobuild.xml | 142 +++++++++++++++++++++++++------------------------- 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 51b88909a9..235e8e713c 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -166,9 +166,9 @@ archive hash - c2009b5914f5884b4a3c28e9ad3da549 + fedc8d63856f534b6098102e059dc548 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86984/801771/boost-1.72-darwin64-563356.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87776/805857/boost-1.72-darwin64-563847.tar.bz2 name darwin64 @@ -202,9 +202,9 @@ archive hash - f7dcd4eacc9a8a9dd00b796d8d3cda90 + 6cc9fb4ca21365c4470a3e516544ba71 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86991/801772/boost-1.72-windows-563356.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87784/805850/boost-1.72-windows-563847.tar.bz2 name windows @@ -214,9 +214,9 @@ archive hash - 2cd6b17ca13c5eeeca562c28a3af441c + 0c526efc3f8825cd25cdf635e238fab3 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86992/801784/boost-1.72-windows64-563356.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87783/805851/boost-1.72-windows64-563847.tar.bz2 name windows64 @@ -308,9 +308,9 @@ archive hash - 99973077c6739a9283d3f452d94facc2 + 84d625d41067e6dc633ac53367ae4e87 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87650/805016/colladadom-2.3.563750-darwin64-563750.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87796/805943/colladadom-2.3.563854-darwin64-563854.tar.bz2 name darwin64 @@ -344,9 +344,9 @@ archive hash - 363a408dc345ef7d826887836b001aab + d365992132ca2bd89f48a2dab1f3b1f2 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87649/805023/colladadom-2.3.563750-windows-563750.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87794/805955/colladadom-2.3.563854-windows-563854.tar.bz2 name windows @@ -356,16 +356,16 @@ archive hash - 36f4c117c27f1fd929529710e3eb5439 + 27687df032caffdc1ec92611341adfe3 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87648/805028/colladadom-2.3.563750-windows64-563750.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87795/805951/colladadom-2.3.563854-windows64-563854.tar.bz2 name windows64 version - 2.3.563750 + 2.3.563854 curl @@ -398,9 +398,9 @@ archive hash - 85aa93094c46f5ba86eaf397ed11d1f1 + 44d801e05811269d1bed7dbc75d85843 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87000/801824/curl-7.54.1.563360-darwin64-563360.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87786/805905/curl-7.54.1.563852-darwin64-563852.tar.bz2 name darwin64 @@ -434,11 +434,11 @@ archive hash - ae764cb3274f9e0381294f74d489d21f + 676f624d4ebdc2189caa43ef6dd8266d hash_algorithm md5 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87001/801821/curl-7.54.1.563360-windows-563360.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87790/805917/curl-7.54.1.563852-windows-563852.tar.bz2 name windows @@ -448,16 +448,16 @@ archive hash - 377186f1859230a3588b6caea4286f26 + b3db5a2cdf275c1af7758fbe2d14544a url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87002/801815/curl-7.54.1.563360-windows64-563360.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87789/805918/curl-7.54.1.563852-windows64-563852.tar.bz2 name windows64 version - 7.54.1.563360 + 7.54.1.563852 db @@ -880,9 +880,9 @@ archive hash - 5a284b9a5c19e6502b243e702e6666ee + 8865739d8e530199dacb3c3042c1bc01 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86990/801719/freetype-2.4.4.563358-darwin64-563358.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87777/805782/freetype-2.4.4.563848-darwin64-563848.tar.bz2 name darwin64 @@ -916,9 +916,9 @@ archive hash - 7309f26bf50a2a6581ba886680368a24 + c0b3601e997553931cadc7d7ee94168b url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86996/801804/freetype-2.4.4.563358-windows-563358.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87779/805814/freetype-2.4.4.563848-windows-563848.tar.bz2 name windows @@ -928,16 +928,16 @@ archive hash - 4566d1fcf5d3c50475082f06187ea763 + e98e1e088cdcd20442e05e9abecdadf9 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86997/801803/freetype-2.4.4.563358-windows64-563358.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87778/805815/freetype-2.4.4.563848-windows64-563848.tar.bz2 name windows64 version - 2.4.4.563358 + 2.4.4.563848 glext @@ -1172,9 +1172,9 @@ archive hash - cf03c4eb26b4cc07a87def2ccc847fe4 + 11d0794582e91a57f6524ad345f2399d url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87026/801906/googlemock-1.7.0.563371-darwin64-563371.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87791/805924/googlemock-1.7.0.563853-darwin64-563853.tar.bz2 name darwin64 @@ -1208,9 +1208,9 @@ archive hash - 6e22038018e933acab39b87ed7ec8154 + 7d267050970ec6e28749178597bc8af0 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87027/801912/googlemock-1.7.0.563371-windows-563371.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87793/805930/googlemock-1.7.0.563853-windows-563853.tar.bz2 name windows @@ -1220,16 +1220,16 @@ archive hash - 3caed7eeb2161dfce81bb6754f27c709 + 27638c692f0ec6121e54bf75f2d45e49 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87028/801918/googlemock-1.7.0.563371-windows64-563371.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87792/805936/googlemock-1.7.0.563853-windows64-563853.tar.bz2 name windows64 version - 1.7.0.563371 + 1.7.0.563853 gstreamer @@ -1858,9 +1858,9 @@ archive hash - cc46a0f06659c60c1776dce789ffc8f0 + c1c9e32e21f3c34d91ed045b2ca91f24 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86989/801708/libpng-1.6.8.563357-darwin64-563357.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87781/805801/libpng-1.6.8.563850-darwin64-563850.tar.bz2 name darwin64 @@ -1894,9 +1894,9 @@ archive hash - 17e0fd54af900ecbccbfe298de696fee + 642e9cf95c8ccd0eb34f6d7a40df585a url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86994/801760/libpng-1.6.8.563357-windows-563357.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87782/805831/libpng-1.6.8.563850-windows-563850.tar.bz2 name windows @@ -1906,16 +1906,16 @@ archive hash - e1d6c3b01a7a948522f890d1f20cd05c + ce46aa0f171d97626c4a3940347cecd7 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86993/801759/libpng-1.6.8.563357-windows64-563357.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87780/805832/libpng-1.6.8.563850-windows64-563850.tar.bz2 name windows64 version - 1.6.8.563357 + 1.6.8.563850 libuuid @@ -1990,9 +1990,9 @@ archive hash - 359cf1c7267c69db37aa894783a1d6ed + 6f37dd6c4a5174f358b6cc5d953f121b url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86995/801734/libxml2-2.9.4.563359-darwin64-563359.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87768/805766/libxml2-2.9.4.563845-darwin64-563845.tar.bz2 name darwin64 @@ -2026,9 +2026,9 @@ archive hash - 37dbc89c4fb24da3751cfb99bd9f1bcc + fd85d3aa13fbdfd1f1ace587e95ef151 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86998/801792/libxml2-2.9.4.563359-windows-563359.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87773/805797/libxml2-2.9.4.563845-windows-563845.tar.bz2 name windows @@ -2038,16 +2038,16 @@ archive hash - 04ce00040a95960484bd484f31532cda + d231d36c3b8942e0259aa2d9fcaa3b7e url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86999/801791/libxml2-2.9.4.563359-windows64-563359.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87772/805795/libxml2-2.9.4.563845-windows64-563845.tar.bz2 name windows64 version - 2.9.4.563359 + 2.9.4.563845 llappearance_utility @@ -2313,7 +2313,7 @@ description minizip-ng is a zip manipulation library. Based on work of Gilles Vollant. license - minizip + minizip-ng license_file LICENSES/minizip-ng.txt name @@ -2325,9 +2325,9 @@ archive hash - 3eb82369d98fc2cd3923c70c6038bbe9 + d00bed67d307d5435280fc7b42ceb822 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87644/804995/minizip_ng-3.0.2.563749-darwin64-563749.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87785/805884/minizip_ng-3.0.2.563851-darwin64-563851.tar.bz2 name darwin64 @@ -2337,9 +2337,9 @@ archive hash - 84c175fd3ba2c333d6620d7edfe406f4 + e7cf61cde66e5c632e0e2c1fc5770dbb url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87647/805006/minizip_ng-3.0.2.563749-windows-563749.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87787/805898/minizip_ng-3.0.2.563851-windows-563851.tar.bz2 name windows @@ -2349,16 +2349,16 @@ archive hash - 572db3e4373daf92a132e5de156c545f + b3c69f9d05cfb531b591347f7b6785cb url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87646/805007/minizip_ng-3.0.2.563749-windows64-563749.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87788/805899/minizip_ng-3.0.2.563851-windows64-563851.tar.bz2 name windows64 version - 3.0.2.563749 + 3.0.2.563851 nghttp2 @@ -2794,9 +2794,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 5e589a1ec2695468ee0034e214fd97e2 + 142d0ad85d0ee4fbb673c9f9e414fbdd url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86982/801701/openssl-1.1.1l.563354-darwin64-563354.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87769/805772/openssl-1.1.1l.563846-darwin64-563846.tar.bz2 name darwin64 @@ -2830,9 +2830,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - aac15f6f01a8283b001d04ce409a51eb + 55bd833166d03f1467e2c7f24fa9143e url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86987/801746/openssl-1.1.1l.563354-windows-563354.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87775/805841/openssl-1.1.1l.563846-windows-563846.tar.bz2 name windows @@ -2842,16 +2842,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 6a0c5bb2a7e17d7b36e3f8f322af4e9f + 6fefc60f68882fc6b246521b696497ab url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86988/801748/openssl-1.1.1l.563354-windows64-563354.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87774/805833/openssl-1.1.1l.563846-windows64-563846.tar.bz2 name windows64 version - 1.1.1l.563354 + 1.1.1l.563846 pcre @@ -3374,7 +3374,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors description zlib data compression library for the next generation systems license - zlib + zlib-ng license_file LICENSES/zlib-ng.txt name @@ -3386,9 +3386,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - 978934d8ee9fa44cfcbf0fc6952733f9 + bf306e38bf81c6095e0967bdef6a2445 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86979/801678/zlib_ng-2.0.5.563353-darwin64-563353.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87759/805718/zlib_ng-2.0.5.563838-darwin64-563838.tar.bz2 name darwin64 @@ -3398,9 +3398,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - abbfde54d943fb999db9b98ee5850cb4 + 8ffce5bd00e3d5afa8cb39b855237c4a url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86980/801690/zlib_ng-2.0.5.563353-windows-563353.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87761/805730/zlib_ng-2.0.5.563838-windows-563838.tar.bz2 name windows @@ -3410,16 +3410,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors archive hash - b038b8dd39273494668f90cdbfa35332 + bd103a9129e57f7ea35886bc7750f8a6 url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86981/801689/zlib_ng-2.0.5.563353-windows64-563353.tar.bz2 + https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/87760/805729/zlib_ng-2.0.5.563838-windows64-563838.tar.bz2 name windows64 version - 2.0.5.563353 + 2.0.5.563838 package_description From 1b529bfb73d4640323983dbb7851f0434cd7cac1 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 10 Sep 2021 23:59:41 +0300 Subject: [PATCH 32/91] SL-15964 Simple test for compression library --- indra/newview/llviewermenu.cpp | 17 ++++ indra/newview/llviewermenufile.cpp | 88 +++++++++++++++++++ .../skins/default/xui/en/menu_viewer.xml | 6 ++ .../skins/default/xui/en/notifications.xml | 10 +++ 4 files changed, 121 insertions(+) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index ad81cb07c1..ba90becb60 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -202,6 +202,7 @@ LLContextMenu* gDetachBodyPartPieMenus[9]; // File Menu void handle_compress_image(void*); +void handle_compress_file_test(void*); // Edit menu @@ -2171,6 +2172,21 @@ class LLAdvancedCompressImage : public view_listener_t }; + +//////////////////////// +// COMPRESS FILE TEST // +//////////////////////// + +class LLAdvancedCompressFileTest : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + handle_compress_file_test(NULL); + return true; + } +}; + + ///////////////////////// // SHOW DEBUG SETTINGS // ///////////////////////// @@ -9284,6 +9300,7 @@ void initialize_menus() view_listener_t::addMenu(new LLAdvancedToggleShowObjectUpdates(), "Advanced.ToggleShowObjectUpdates"); view_listener_t::addMenu(new LLAdvancedCheckShowObjectUpdates(), "Advanced.CheckShowObjectUpdates"); view_listener_t::addMenu(new LLAdvancedCompressImage(), "Advanced.CompressImage"); + view_listener_t::addMenu(new LLAdvancedCompressFileTest(), "Advanced.CompressFileTest"); view_listener_t::addMenu(new LLAdvancedShowDebugSettings(), "Advanced.ShowDebugSettings"); view_listener_t::addMenu(new LLAdvancedEnableViewAdminOptions(), "Advanced.EnableViewAdminOptions"); view_listener_t::addMenu(new LLAdvancedToggleViewAdminOptions(), "Advanced.ToggleViewAdminOptions"); diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index 15181dcd9f..43f99fc13a 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -775,6 +775,94 @@ void handle_compress_image(void*) } } +// No convinient check in LLFile, and correct way would be something +// like GetFileSizeEx, which is too OS specific for current purpose +// so doing dirty, but OS independent fopen and fseek +size_t get_file_size(std::string &filename) +{ + LLFILE* file = LLFile::fopen(filename, "rb"); /*Flawfinder: ignore*/ + if (!file) + { + LL_WARNS() << "Error opening " << filename << LL_ENDL; + return 0; + } + + // read in the whole file + fseek(file, 0L, SEEK_END); + size_t file_length = (size_t)ftell(file); + fclose(file); + return file_length; +} + +void handle_compress_file_test(void*) +{ + LLFilePicker& picker = LLFilePicker::instance(); + if (picker.getOpenFile()) + { + std::string infile = picker.getFirstFile(); + if (!infile.empty()) + { + std::string packfile = infile + ".pack_test"; + std::string unpackfile = infile + ".unpack_test"; + + S64Bytes initial_size = S64Bytes(get_file_size(infile)); + + BOOL success; + + F64 total_seconds = LLTimer::getTotalSeconds(); + success = gzip_file(infile, packfile); + F64 result_pack_seconds = LLTimer::getTotalSeconds() - total_seconds; + + if (success) + { + S64Bytes packed_size = S64Bytes(get_file_size(packfile)); + + LL_INFOS() << "Packing complete, time: " << result_pack_seconds << " size: " << packed_size << LL_ENDL; + total_seconds = LLTimer::getTotalSeconds(); + success = gunzip_file(packfile, unpackfile); + F64 result_unpack_seconds = LLTimer::getTotalSeconds() - total_seconds; + + if (success) + { + S64Bytes unpacked_size = S64Bytes(get_file_size(unpackfile)); + + LL_INFOS() << "Unpacking complete, time: " << result_unpack_seconds << " size: " << unpacked_size << LL_ENDL; + + LLSD args; + args["FILE"] = infile; + args["PACK_TIME"] = result_pack_seconds; + args["UNPACK_TIME"] = result_unpack_seconds; + args["SIZE"] = LLSD::Integer(initial_size.valueInUnits()); + args["PSIZE"] = LLSD::Integer(packed_size.valueInUnits()); + args["USIZE"] = LLSD::Integer(unpacked_size.valueInUnits()); + LLNotificationsUtil::add("CompressionTestResults", args); + + LLFile::remove(packfile); + LLFile::remove(unpackfile); + } + else + { + LL_INFOS() << "Failed to uncompress file: " << packfile << LL_ENDL; + LLFile::remove(packfile); + } + + } + else + { + LL_INFOS() << "Failed to compres file: " << infile << LL_ENDL; + } + } + else + { + LL_INFOS() << "Failed to open file" << LL_ENDL; + } + } + else + { + LL_INFOS() << "Failed to open file" << LL_ENDL; + } +} + LLUUID upload_new_resource( const std::string& src_filename, diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 72cce2208f..6ddaa99f78 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -3883,6 +3883,12 @@ function="World.EnvPreset" + + + fail + + +Test result for gzip level 6 file compression with [FILE] of size [SIZE] KB: +Packing: [PACK_TIME]s [PSIZE]KB +Unpacking: [UNPACK_TIME]s [USIZE]KB + fail + From c990a6a82dda1ea7cb257f2d6ff9156e4fc0d766 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 20 Sep 2021 21:48:45 +0300 Subject: [PATCH 33/91] SL-11793 Fallback for 'Day' preset importing --- indra/newview/llsettingsvo.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index 1e5b893cbc..5991d4073f 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -1021,12 +1021,39 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &n std::set framenames; std::set notfound; + // expected and correct folder sctructure is to have + // three folders in widnlight's root: days, water, skies std::string base_path(gDirUtilp->getDirName(path)); std::string water_path(base_path); std::string sky_path(base_path); + std::string day_path(base_path); gDirUtilp->append(water_path, "water"); gDirUtilp->append(sky_path, "skies"); + gDirUtilp->append(day_path, "days"); + + if (!gDirUtilp->fileExists(day_path)) + { + LL_WARNS("SETTINGS") << "File " << name << ".xml is not in \"days\" folder." << LL_ENDL; + } + + if (!gDirUtilp->fileExists(water_path)) + { + LL_WARNS("SETTINGS") << "Failed to find accompaniying water folder for file " << name + << ".xml. Falling back to using default folder" << LL_ENDL; + + water_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight"); + gDirUtilp->append(water_path, "water"); + } + + if (!gDirUtilp->fileExists(sky_path)) + { + LL_WARNS("SETTINGS") << "Failed to find accompaniying skies folder for file " << name + << ".xml. Falling back to using default folder" << LL_ENDL; + + sky_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight"); + gDirUtilp->append(sky_path, "skies"); + } newsettings[SETTING_NAME] = name; From 7c00db9e0e2b3ba2ecae376fdf722977565e4283 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 21 Sep 2021 17:13:48 +0300 Subject: [PATCH 34/91] SL-16020 FIXED The gesture's name is changed to default 'New Gesture' name after the first gesture's editing --- indra/newview/llpreviewgesture.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp index 18c2fb5452..d81f8a5ada 100644 --- a/indra/newview/llpreviewgesture.cpp +++ b/indra/newview/llpreviewgesture.cpp @@ -347,9 +347,6 @@ BOOL LLPreviewGesture::postBuild() LLTextBox* text; LLCheckBoxCtrl* check; - edit = getChild("name"); - edit->setKeystrokeCallback(onKeystrokeCommit, this); - edit = getChild("desc"); edit->setKeystrokeCallback(onKeystrokeCommit, this); @@ -482,9 +479,6 @@ BOOL LLPreviewGesture::postBuild() { getChild("desc")->setValue(item->getDescription()); getChild("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe); - - getChild("name")->setValue(item->getName()); - getChild("name")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe); } return LLPreview::postBuild(); From 1d6bfb727a8015e82cd4060a0c73cf3fc719e818 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 21 Sep 2021 21:55:12 +0300 Subject: [PATCH 35/91] SL-16022 Fixed Tab not cycling through all options --- indra/llui/llmenugl.cpp | 18 ++++++++++++++++++ indra/newview/llviewerwindow.cpp | 1 + .../newview/skins/default/xui/en/main_view.xml | 14 ++++++++++++-- .../default/xui/en/panel_navigation_bar.xml | 1 - .../skins/default/xui/en/panel_status_bar.xml | 1 - 5 files changed, 31 insertions(+), 4 deletions(-) diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index cdaf03ebde..6b9bf425d2 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -1363,6 +1363,9 @@ public: virtual BOOL handleKeyHere(KEY key, MASK mask); virtual BOOL handleAcceleratorKey(KEY key, MASK mask); + + virtual void onFocusLost(); + virtual void setFocus(BOOL b); }; LLMenuItemBranchDownGL::LLMenuItemBranchDownGL( const Params& p) : @@ -1517,6 +1520,21 @@ BOOL LLMenuItemBranchDownGL::handleAcceleratorKey(KEY key, MASK mask) return handled; } +void LLMenuItemBranchDownGL::onFocusLost() +{ + // needed for tab-based selection + LLMenuItemBranchGL::onFocusLost(); + LLMenuGL::setKeyboardMode(FALSE); + setHighlight(FALSE); +} + +void LLMenuItemBranchDownGL::setFocus(BOOL b) +{ + // needed for tab-based selection + LLMenuItemBranchGL::setFocus(b); + LLMenuGL::setKeyboardMode(b); + setHighlight(b); +} BOOL LLMenuItemBranchDownGL::handleKeyHere(KEY key, MASK mask) { diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 32f18b1d5c..017d3d1bfd 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2231,6 +2231,7 @@ void LLViewerWindow::initWorldUI() gStatusBar->setShape(status_bar_container->getLocalRect()); // sync bg color with menu bar gStatusBar->setBackgroundColor( gMenuBarView->getBackgroundColor().get() ); + // add InBack so that gStatusBar won't be drawn over menu status_bar_container->addChildInBack(gStatusBar); status_bar_container->setVisible(TRUE); diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 9885e37cea..a675dd7ab3 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -8,6 +8,15 @@ tab_stop="false" name="main_view" width="1024"> + + + + From 2b96d1bbe00c317ea8dfe420dd4167dde5d153ae Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 23 Sep 2021 16:25:12 -0400 Subject: [PATCH 36/91] DRTVWR-543: Add ClassicCallback utility class with tests --- indra/llcommon/CMakeLists.txt | 8 +- indra/llcommon/classic_callback.cpp | 16 + indra/llcommon/classic_callback.h | 292 ++++++++++++++++++ .../llcommon/tests/classic_callback_test.cpp | 150 +++++++++ 4 files changed, 463 insertions(+), 3 deletions(-) create mode 100644 indra/llcommon/classic_callback.cpp create mode 100644 indra/llcommon/classic_callback.h create mode 100644 indra/llcommon/tests/classic_callback_test.cpp diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index dd266630ea..2d17d1b09a 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -127,6 +127,7 @@ set(llcommon_SOURCE_FILES set(llcommon_HEADER_FILES CMakeLists.txt + classic_callback.h ctype_workaround.h fix_macros.h indra_constants.h @@ -328,16 +329,17 @@ if (LL_TESTS) ${BOOST_CONTEXT_LIBRARY} ${BOOST_THREAD_LIBRARY} ${BOOST_SYSTEM_LIBRARY}) - LL_ADD_INTEGRATION_TEST(commonmisc "" "${test_libs}") LL_ADD_INTEGRATION_TEST(bitpack "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(classic_callback "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(commonmisc "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llbase64 "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llcond "" "${test_libs}") LL_ADD_INTEGRATION_TEST(lldate "" "${test_libs}") LL_ADD_INTEGRATION_TEST(lldeadmantimer "" "${test_libs}") LL_ADD_INTEGRATION_TEST(lldependencies "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llerror "" "${test_libs}") - LL_ADD_INTEGRATION_TEST(lleventdispatcher "" "${test_libs}") LL_ADD_INTEGRATION_TEST(lleventcoro "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(lleventdispatcher "" "${test_libs}") LL_ADD_INTEGRATION_TEST(lleventfilter "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llframetimer "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llheteromap "" "${test_libs}") @@ -355,8 +357,8 @@ if (LL_TESTS) LL_ADD_INTEGRATION_TEST(llstring "" "${test_libs}") LL_ADD_INTEGRATION_TEST(lltrace "" "${test_libs}") LL_ADD_INTEGRATION_TEST(lltreeiterators "" "${test_libs}") - LL_ADD_INTEGRATION_TEST(lluri "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llunits "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(lluri "" "${test_libs}") LL_ADD_INTEGRATION_TEST(stringize "" "${test_libs}") ## llexception_test.cpp isn't a regression test, and doesn't need to be run diff --git a/indra/llcommon/classic_callback.cpp b/indra/llcommon/classic_callback.cpp new file mode 100644 index 0000000000..5674e0a44d --- /dev/null +++ b/indra/llcommon/classic_callback.cpp @@ -0,0 +1,16 @@ +/** + * @file classic_callback.cpp + * @author Nat Goodspeed + * @date 2021-09-23 + * @brief Implementation for classic_callback. + * + * $LicenseInfo:firstyear=2021&license=viewerlgpl$ + * Copyright (c) 2021, Linden Research, Inc. + * $/LicenseInfo$ + */ + +namespace { + +const char dummy[] = "cpp file required to build test program"; + +} // anonymous namespace diff --git a/indra/llcommon/classic_callback.h b/indra/llcommon/classic_callback.h new file mode 100644 index 0000000000..76ff9c2339 --- /dev/null +++ b/indra/llcommon/classic_callback.h @@ -0,0 +1,292 @@ +/** + * @file classic_callback.h + * @author Nat Goodspeed + * @date 2016-06-21 + * @brief ClassicCallback and HeapClassicCallback + * + * This header file addresses the problem of passing a method on a C++ object + * to an API that requires a classic-C function pointer. Typically such a + * callback API accepts a void* pointer along with the function pointer, and + * the function pointer signature accepts a void* parameter. The API passes + * the caller's pointer value into the callback function so it can find its + * data. In C++, there are a few ways to deal with this case: + * + * - Use a static method with correct signature. If you don't need access to a + * specific instance, that works fine. + * - Store the object statically (or store a static pointer to a non-static + * instance). As long as you only care about one instance, that works, but + * starts to get a little icky. As soon as there's more than one pertinent + * instance, fight valiantly against the temptation to stuff the instance + * pointer into a static pointer variable "just for a moment." + * - Code a static trampoline callback function that accepts the void* user + * data pointer, casts it to the appropriate class type and calls the actual + * method on that class. + * + * ClassicCallback encapsulates the last. You need only construct a + * ClassicCallback instance somewhere that will survive until the callback is + * called, binding the target C++ callable. You then call its get_callback() + * and get_userdata() methods to pass an appropriate classic-C function + * pointer and void* user data pointer, respectively, to the old-style + * callback API. get_callback() synthesizes a static trampoline function + * that casts the user data pointer and calls the bound C++ callable. + * + * $LicenseInfo:firstyear=2016&license=viewerlgpl$ + * Copyright (c) 2016, Linden Research, Inc. + * $/LicenseInfo$ + */ + +#if ! defined(LL_CLASSIC_CALLBACK_H) +#define LL_CLASSIC_CALLBACK_H + +#include +#include // std::is_same + +/***************************************************************************** +* Helpers +*****************************************************************************/ + +// find a type in a parameter pack: http://stackoverflow.com/q/17844867/5533635 +// usage: index_of<0, sought_t, PackName...>::value +template +struct index_of +{ + static constexpr int const value = + std::is_same::value ? + idx : index_of::value; +}; + +// recursion tail +template +struct index_of +{ + static constexpr int const value = + std::is_same::value ? idx : -1; +}; + +/***************************************************************************** +* ClassicCallback +*****************************************************************************/ +/** + * Instantiate ClassicCallback in whatever storage will persist long enough + * for the callback to be called. It holds a modern C++ callable, providing a + * static function pointer and a USERDATA (default void*) capable of being + * passed through a classic-C callback API. When the static function is called + * with that USERDATA pointer, ClassicCallback forwards the call to the bound + * C++ callable. + * + * Usage: + * @code + * // callback signature required by the API of interest + * typedef void (*callback_t)(int, const char*, void*, double); + * // old-style API that accepts a classic-C callback function pointer + * void oldAPI(callback_t callback, void* userdata); + * // but I want to pass a lambda that references data local to my function! + * // (We don't need to name the void* parameter in the C++ callable; + * // ClassicCallback already used it to locate the lambda instance.) + * auto ccb{ + * makeClassicCallback( + * [=](int n, const char* s, void*, double f){ ... }) }; + * oldAPI(ccb.get_callback(), ccb.get_userdata()); + * // If the passed callback is called before oldAPI() returns, we can now + * // safely destroy ccb. If the callback might be called later, consider + * // HeapClassicCallback instead. + * @endcode + * + * If you have a callable object in hand, and you want to pass that to + * ClassicCallback, you may either consume it by passing std::move(object), or + * explicitly specify a reference to that object type as the CALLABLE template + * parameter: + * @code + * CallableObject obj; + * ClassicCallback ccb{obj}; + * @endcode + */ +// CALLABLE should either be deduced, e.g. by makeClassicCallback(), or +// specified explicitly. Its default type is meaningless, coded only so we can +// provide a useful default for USERDATA. +template +class ClassicCallback +{ + typedef ClassicCallback self_t; + +public: + /// ClassicCallback binds any modern C++ callable. + ClassicCallback(CALLABLE&& callable): + mCallable(std::forward(callable)) + {} + + /** + * ClassicCallback must not itself be copied or moved! Once you've passed + * get_userdata() to some API, this object MUST remain at that address. + */ + // However, we can't yet count on C++17 Class Template Argument Deduction, + // which means makeClassicCallback() is still useful, which means we MUST + // be able to return one to construct into caller's instance (move ctor). + // Possible defense: bool 'referenced' data member set by get_userdata(), + // with an llassert_always(! referenced) check in the move constructor. + ClassicCallback(ClassicCallback const&) = delete; + ClassicCallback(ClassicCallback&&) = default; // delete; + ClassicCallback& operator=(ClassicCallback const&) = delete; + ClassicCallback& operator=(ClassicCallback&&) = delete; + + /// Call get_callback() to get the necessary function pointer. + SIGNATURE get_callback() const + { + // This declaration is where the compiler instantiates the correct + // signature for the call() function template. + SIGNATURE callback = call; + return callback; + } + + /// Call get_userdata() to get the opaque USERDATA pointer to pass + /// through the classic-C callback API. + USERDATA get_userdata() const + { + // The USERDATA userdata is of course a pointer to this object. + return static_cast(const_cast(this)); + } + +protected: + /** + * This call() method accepts one or more callback arguments. It assumes + * the first USERDATA parameter is the userdata. + */ + // Note that we're not literally using C++ perfect forwarding here -- it + // doesn't work to specify (Args&&... args). But that's okay because we're + // dealing with a classic-C callback! It's not going to pass any move-only + // types. + template + static auto call(Args... args) + { + auto userdata = extract_userdata(std::forward(args)...); + // cast the userdata param to 'this' and call mCallable + return static_cast(userdata)-> + mCallable(std::forward(args)...); + } + + template + static USERDATA extract_userdata(Args... args) + { + // Search for the first void* parameter type, then extract that pointer. + // extract value from parameter pack: http://stackoverflow.com/a/24710433/5533635 + return std::get::value>(std::forward_as_tuple(args...)); + } + + CALLABLE mCallable; +}; + +/** + * Usage: + * @code + * auto ccb{ makeClassicCallback(actual_callback) }; + * @endcode + */ +template +auto makeClassicCallback(CALLABLE&& callable) +{ + return std::move(ClassicCallback + (std::forward(callable))); +} + +/***************************************************************************** +* HeapClassicCallback +*****************************************************************************/ +/** + * HeapClassicCallback is like ClassicCallback, with this exception: it MUST + * be allocated on the heap because, once the callback has been called, it + * deletes itself. This addresses the problem of a callback whose lifespan + * must persist beyond the scope in which the callback API is engaged -- but + * naturally this callback must be called exactly ONCE. + * + * Usage: + * @code + * // callback signature required by the API of interest + * typedef void (*callback_t)(int, const char*, void*, double); + * // here's the old-style API + * void oldAPI(callback_t callback, void* userdata); + * // want to call someObjPtr->method() when oldAPI() fires the callback, + * // sometime in the future after the enclosing function has returned + * auto ccb{ + * makeHeapClassicCallback( + * [someObjPtr](int n, const char* s, void*, double f) + * { someObjPtr->method(); }) }; + * oldAPI(ccb.get_callback(), ccb.get_userdata()); + * // We don't need a smart pointer for ccb, because it will be deleted once + * // oldAPI() calls the bound lambda. HeapClassicCallback is for when the + * // callback will be called exactly once. If the classic API might call the + * // passed callback more than once -- or might never call it at all -- + * // manually construct a ClassicCallback on the heap and manage its lifespan + * // explicitly. + * @endcode + */ +template +class HeapClassicCallback: public ClassicCallback +{ + typedef ClassicCallback super; + typedef HeapClassicCallback self_t; + + // This destructor is intentionally private to prevent allocation anywhere + // but the heap. (The Design and Evolution of C++, section 11.4.2: Control + // of Allocation) + ~HeapClassicCallback() {} + +public: + HeapClassicCallback(CALLABLE&& callable): + super(std::forward(callable)) + {} + + // makeHeapClassicCallback() only needs to return a pointer -- not an + // instance -- so we can lock down our move constructor too. + HeapClassicCallback(HeapClassicCallback&&) = delete; + + /// Replicate get_callback() from the base class because we must + /// instantiate OUR call() function template. + SIGNATURE get_callback() const + { + // This declaration is where the compiler instantiates the correct + // signature for the call() function template. + SIGNATURE callback = call; + return callback; + } + + /// Replicate get_userdata() from the base class because our call() + /// method must be able to reconstitute a pointer to this subclass. + USERDATA get_userdata() const + { + // The USERDATA userdata is of course a pointer to this object. + return static_cast(const_cast(this)); + } + +private: + // call() uses a helper class to delete the HeapClassicCallback when done, + // for two reasons. Most importantly, this deletes even if the callback + // throws an exception. But also, call() must directly return the callback + // result for return-type deduction. + struct Destroyer + { + Destroyer(self_t* p): mPtr(p) {} + ~Destroyer() { delete mPtr; } + + self_t* mPtr; + }; + + template + static auto call(Args... args) + { + // extract userdata at this level too + USERDATA userdata = super::extract_userdata(std::forward(args)...); + // arrange to delete it when we leave by whatever means + Destroyer destroy(static_cast(userdata)); + + return super::call(std::forward(args)...); + } +}; + +template +auto makeHeapClassicCallback(CALLABLE&& callable) +{ + return new HeapClassicCallback + (std::forward(callable)); +} + +#endif /* ! defined(LL_CLASSIC_CALLBACK_H) */ diff --git a/indra/llcommon/tests/classic_callback_test.cpp b/indra/llcommon/tests/classic_callback_test.cpp new file mode 100644 index 0000000000..232532b1c1 --- /dev/null +++ b/indra/llcommon/tests/classic_callback_test.cpp @@ -0,0 +1,150 @@ +/** + * @file classic_callback_test.cpp + * @author Nat Goodspeed + * @date 2021-09-22 + * @brief Test ClassicCallback and HeapClassicCallback. + * + * $LicenseInfo:firstyear=2021&license=viewerlgpl$ + * Copyright (c) 2021, Linden Research, Inc. + * $/LicenseInfo$ + */ + +// Precompiled header +#include "linden_common.h" +// associated header +#include "classic_callback.h" +// STL headers +#include +#include +// std headers +// external library headers +// other Linden headers +#include "../test/lltut.h" + +/***************************************************************************** +* example callback accepting only (void* userdata) +*****************************************************************************/ +// callback_t is part of the specification of someAPI() +typedef void (*callback_t)(const char*, void*); +void someAPI(callback_t callback, void* userdata) +{ + callback("called", userdata); +} + +// C++ callable I want as the actual callback +struct MyCallback +{ + void operator()(const char* msg, void*) + { + mMsg = msg; + } + + void callback_with_extra(const std::string& extra, const char* msg) + { + mMsg = extra + ' ' + msg; + } + + std::string mMsg; +}; + +// a function for which I want to bind other data +void callback_with_extra(const std::string& extra, void*) +{ + std::cout << "callback_with_extra('" << extra << "', *)\n"; +} + +/***************************************************************************** +* example callback accepting several params, and void* userdata isn't first +*****************************************************************************/ +typedef std::string (*complex_callback)(int, const char*, void*, double); +std::string otherAPI(complex_callback callback, void* userdata) +{ + return callback(17, "hello world", userdata, 3.0); +} + +// struct into which we can capture complex_callback params +static struct Data +{ + void set(int i, const char* s, double f) + { + mi = i; + ms = s; + mf = f; + } + + void clear() { set(0, "", 0.0); } + + int mi; + std::string ms; + double mf; +} sData; + +// C++ callable I want to pass +struct OtherCallback +{ + std::string operator()(int num, const char* str, void*, double approx) + { + sData.set(num, str, approx); + return "hello back!"; + } +}; + +/***************************************************************************** +* TUT +*****************************************************************************/ +namespace tut +{ + struct classic_callback_data + { + }; + typedef test_group classic_callback_group; + typedef classic_callback_group::object object; + classic_callback_group classic_callbackgrp("classic_callback"); + + template<> template<> + void object::test<1>() + { + set_test_name("ClassicCallback"); + // engage someAPI(MyCallback()) + auto ccb{ makeClassicCallback(MyCallback()) }; + someAPI(ccb.get_callback(), ccb.get_userdata()); + // Unfortunately, with the side effect confined to the bound + // MyCallback instance, that call was invisible. Bind a reference to a + // named instance by specifying a ref type. + MyCallback mcb; + ClassicCallback ccb2(mcb); + someAPI(ccb2.get_callback(), ccb2.get_userdata()); + ensure_equals("failed to call through ClassicCallback", mcb.mMsg, "called"); + + // try with HeapClassicCallback + mcb.mMsg.clear(); + auto hcbp{ makeHeapClassicCallback(mcb) }; + someAPI(hcbp->get_callback(), hcbp->get_userdata()); + ensure_equals("failed to call through HeapClassicCallback", mcb.mMsg, "called"); + + // lambda + // The tricky thing here is that a lambda is an unspecified type, so + // you can't declare a ClassicCallback. + mcb.mMsg.clear(); + auto xcb( + makeClassicCallback( + [&mcb](const char* msg, void*) + { mcb.callback_with_extra("extra", msg); })); + someAPI(xcb.get_callback(), xcb.get_userdata()); + ensure_equals("failed to call lambda", mcb.mMsg, "extra called"); + + // engage otherAPI(OtherCallback()) + OtherCallback ocb; + // Instead of specifying a reference type for the bound CALLBACK, as + // with ccb2 above, you can alternatively move the callable object + // into the ClassicCallback (of course AFTER any other reference). + // That's why OtherCallback uses external data for its observable side + // effect. + auto occb{ makeClassicCallback(std::move(ocb)) }; + std::string result{ otherAPI(occb.get_callback(), occb.get_userdata()) }; + ensure_equals("failed to return callback result", result, "hello back!"); + ensure_equals("failed to set int", sData.mi, 17); + ensure_equals("failed to set string", sData.ms, "hello world"); + ensure_equals("failed to set double", sData.mf, 3.0); + } +} // namespace tut From 1c3d2876ac2b5212976bde9cd4fdea485a366ab9 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 23 Sep 2021 17:09:16 -0400 Subject: [PATCH 37/91] DRTVWR-543: Consistently use ClassicCallback throughout. --- indra/llcommon/classic_callback.h | 4 ++-- indra/llcommon/tests/classic_callback_test.cpp | 8 +------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/indra/llcommon/classic_callback.h b/indra/llcommon/classic_callback.h index 76ff9c2339..1ad6dbc58f 100644 --- a/indra/llcommon/classic_callback.h +++ b/indra/llcommon/classic_callback.h @@ -167,9 +167,9 @@ protected: template static USERDATA extract_userdata(Args... args) { - // Search for the first void* parameter type, then extract that pointer. + // Search for the first USERDATA parameter type, then extract that pointer. // extract value from parameter pack: http://stackoverflow.com/a/24710433/5533635 - return std::get::value>(std::forward_as_tuple(args...)); + return std::get::value>(std::forward_as_tuple(args...)); } CALLABLE mCallable; diff --git a/indra/llcommon/tests/classic_callback_test.cpp b/indra/llcommon/tests/classic_callback_test.cpp index 232532b1c1..c060775c24 100644 --- a/indra/llcommon/tests/classic_callback_test.cpp +++ b/indra/llcommon/tests/classic_callback_test.cpp @@ -22,7 +22,7 @@ #include "../test/lltut.h" /***************************************************************************** -* example callback accepting only (void* userdata) +* example callback *****************************************************************************/ // callback_t is part of the specification of someAPI() typedef void (*callback_t)(const char*, void*); @@ -47,12 +47,6 @@ struct MyCallback std::string mMsg; }; -// a function for which I want to bind other data -void callback_with_extra(const std::string& extra, void*) -{ - std::cout << "callback_with_extra('" << extra << "', *)\n"; -} - /***************************************************************************** * example callback accepting several params, and void* userdata isn't first *****************************************************************************/ From f3a43c74f9e5aae506814af2460507b6879a9bd5 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 24 Sep 2021 15:28:25 +0300 Subject: [PATCH 38/91] SL-16063 FIXED The favorite landmark does not change after editing from another machine --- indra/newview/llfavoritesbar.cpp | 32 ++++++++++++++++++++++++++++---- indra/newview/llfavoritesbar.h | 6 ++++-- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 83b5bf3f25..2879d18577 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -763,6 +763,14 @@ void LLFavoritesBarCtrl::updateButtons() } LLFavoritesOrderStorage::instance().mPrevFavorites = mItems; mGetPrevItems = false; + + if (LLFavoritesOrderStorage::instance().isStorageUpdateNeeded()) + { + if (!mItemsChangedTimer.getStarted()) + { + mItemsChangedTimer.start(); + } + } } const LLButton::Params& button_params = getButtonParams(); @@ -1640,7 +1648,6 @@ void LLFavoritesOrderStorage::load() llifstream in_file; in_file.open(filename.c_str()); LLSD fav_llsd; - LLSD user_llsd; if (in_file.is_open()) { LLSDSerialize::fromXML(fav_llsd, in_file); @@ -1650,12 +1657,12 @@ void LLFavoritesOrderStorage::load() in_file.close(); if (fav_llsd.isMap() && fav_llsd.has(gAgentUsername)) { - user_llsd = fav_llsd[gAgentUsername]; + mStorageFavorites = fav_llsd[gAgentUsername]; S32 index = 0; bool needs_validation = gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin"); - for (LLSD::array_iterator iter = user_llsd.beginArray(); - iter != user_llsd.endArray(); ++iter) + for (LLSD::array_iterator iter = mStorageFavorites.beginArray(); + iter != mStorageFavorites.endArray(); ++iter) { // Validation LLUUID fv_id = iter->get("id").asUUID(); @@ -2040,6 +2047,23 @@ void LLFavoritesOrderStorage::showFavoritesOnLoginChanged(BOOL show) } } +bool LLFavoritesOrderStorage::isStorageUpdateNeeded() +{ + if (!mRecreateFavoriteStorage) + { + for (LLSD::array_iterator iter = mStorageFavorites.beginArray(); + iter != mStorageFavorites.endArray(); ++iter) + { + if (mFavoriteNames[iter->get("id").asUUID()] != iter->get("name").asString()) + { + mRecreateFavoriteStorage = true; + return true; + } + } + } + return false; +} + void AddFavoriteLandmarkCallback::fire(const LLUUID& inv_item_id) { if (mTargetLandmarkId.isNull()) return; diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index 3bb940948b..ad315b7dc7 100644 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -226,8 +226,11 @@ public: BOOL saveFavoritesRecord(bool pref_changed = false); void showFavoritesOnLoginChanged(BOOL show); - LLInventoryModel::item_array_t mPrevFavorites; + bool isStorageUpdateNeeded(); + LLInventoryModel::item_array_t mPrevFavorites; + LLSD mStorageFavorites; + bool mRecreateFavoriteStorage; const static S32 NO_INDEX; static bool mSaveOnExit; @@ -254,7 +257,6 @@ private: slurls_map_t mSLURLs; std::set mMissingSLURLs; bool mIsDirty; - bool mRecreateFavoriteStorage; struct IsNotInFavorites { From c205c1d1835c34fe952e08f1e2a190109c195bd9 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Mon, 27 Sep 2021 15:14:27 +0300 Subject: [PATCH 39/91] SL-16085 FIXED "Reset skeleton and animation" isn't reset the animation on the avatar without selecting part of the avatar --- indra/newview/llviewermenu.cpp | 19 +++++++++++++++++++ .../skins/default/xui/en/menu_viewer.xml | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index ba90becb60..8b1d7b5e15 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6267,6 +6267,24 @@ class LLAvatarResetSkeletonAndAnimations : public view_listener_t } }; +class LLAvatarResetSelfSkeletonAndAnimations : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); + if (avatar) + { + avatar->resetSkeleton(true); + } + else + { + gAgentAvatarp->resetSkeleton(true); + } + return true; + } +}; + + class LLAvatarAddContact : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -9368,6 +9386,7 @@ void initialize_menus() view_listener_t::addMenu(new LLAvatarResetSkeleton(), "Avatar.ResetSkeleton"); view_listener_t::addMenu(new LLAvatarEnableResetSkeleton(), "Avatar.EnableResetSkeleton"); view_listener_t::addMenu(new LLAvatarResetSkeletonAndAnimations(), "Avatar.ResetSkeletonAndAnimations"); + view_listener_t::addMenu(new LLAvatarResetSelfSkeletonAndAnimations(), "Avatar.ResetSelfSkeletonAndAnimations"); enable.add("Avatar.IsMyProfileOpen", boost::bind(&my_profile_visible)); commit.add("Avatar.OpenMarketplace", boost::bind(&LLWeb::loadURLExternal, gSavedSettings.getString("MarketplaceURL"))); diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 6ddaa99f78..0a92bfe2b7 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -471,7 +471,7 @@ layout="topleft" name="Reset Skeleton And Animations"> + function="Avatar.ResetSelfSkeletonAndAnimations" /> Date: Mon, 27 Sep 2021 13:38:11 -0400 Subject: [PATCH 40/91] DRTVWR-543: Fix local Mac builds with BugSplat. (Thanks NickyD!) With the affected line, local Mac builds with BugSplat enabled fail. Without it, they build clean. --- indra/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 922075c090..5280dbec45 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -13,7 +13,6 @@ project(${ROOT_PROJECT_NAME}) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") include(Variables) -include(bugsplat) include(BuildVersion) set(LEGACY_STDIO_LIBS) From b96348a2f9a360ce3b06c6e3759b96eac5d6726f Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 28 Sep 2021 19:43:24 +0300 Subject: [PATCH 41/91] SL-16098 Unable to sit on an object using the 'Object inspector' floater The same should probably be done for onClickTouch --- indra/newview/llinspectobject.cpp | 29 +++++++++++++++++-- indra/newview/llviewermenu.cpp | 48 ++++++++++++++++++++----------- indra/newview/llviewermenu.h | 1 + 3 files changed, 60 insertions(+), 18 deletions(-) diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index f78a5cc64e..cb7031971b 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -28,16 +28,17 @@ #include "llinspectobject.h" // Viewer +#include "llagent.h" // To standup #include "llfloatersidepanelcontainer.h" #include "llinspect.h" #include "llmediaentry.h" -#include "llnotificationsutil.h" // *TODO: Eliminate, add LLNotificationsUtil wrapper #include "llselectmgr.h" #include "llslurl.h" #include "llviewermenu.h" // handle_object_touch(), handle_buy() #include "llviewermedia.h" #include "llviewermediafocus.h" #include "llviewerobjectlist.h" // to select the requested object +#include "llvoavatarself.h" // Linden libraries #include "llbutton.h" // setLabel(), not virtual! @@ -635,7 +636,31 @@ void LLInspectObject::onClickTouch() void LLInspectObject::onClickSit() { - handle_object_sit_or_stand(); + bool is_sitting = false; + if (mObjectSelection) + { + LLSelectNode* node = mObjectSelection->getFirstRootNode(); + if (node && node->mValid) + { + LLViewerObject* root_object = node->getObject(); + if (root_object + && isAgentAvatarValid() + && gAgentAvatarp->isSitting() + && gAgentAvatarp->getRoot() == root_object) + { + is_sitting = true; + } + } + } + + if (is_sitting) + { + gAgent.standUp(); + } + else + { + handle_object_sit(mObjectID); + } closeFloater(); } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 8b1d7b5e15..840089a1c2 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4125,23 +4125,9 @@ bool is_object_sittable() } } - // only works on pie menu -void handle_object_sit_or_stand() +void handle_object_sit(LLViewerObject *object, const LLVector3 &offset) { - LLPickInfo pick = LLToolPie::getInstance()->getPick(); - LLViewerObject *object = pick.getObject();; - if (!object || pick.mPickType == LLPickInfo::PICK_FLORA) - { - return; - } - - if (sitting_on_selection()) - { - gAgent.standUp(); - return; - } - // get object selection offset if (object && object->getPCode() == LL_PCODE_VOLUME) @@ -4153,12 +4139,42 @@ void handle_object_sit_or_stand() gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); gMessageSystem->nextBlockFast(_PREHASH_TargetObject); gMessageSystem->addUUIDFast(_PREHASH_TargetID, object->mID); - gMessageSystem->addVector3Fast(_PREHASH_Offset, pick.mObjectOffset); + gMessageSystem->addVector3Fast(_PREHASH_Offset, offset); object->getRegion()->sendReliableMessage(); } } +void handle_object_sit_or_stand() +{ + LLPickInfo pick = LLToolPie::getInstance()->getPick(); + LLViewerObject *object = pick.getObject(); + if (!object || pick.mPickType == LLPickInfo::PICK_FLORA) + { + return; + } + + if (sitting_on_selection()) + { + gAgent.standUp(); + return; + } + + handle_object_sit(object, pick.mObjectOffset); +} + +void handle_object_sit(const LLUUID& object_id) +{ + LLViewerObject* obj = gObjectList.findObject(object_id); + if (!obj) + { + return; + } + + LLVector3 offset(0, 0, 0); + handle_object_sit(obj, offset); +} + void near_sit_down_point(BOOL success, void *) { if (success) diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index 36b6971c81..a90b32c984 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -135,6 +135,7 @@ void handle_save_snapshot(void *); void handle_toggle_flycam(); void handle_object_sit_or_stand(); +void handle_object_sit(const LLUUID& object_id); void handle_give_money_dialog(); bool enable_pay_object(); bool enable_buy_object(); From c9591118bc8731b772fdb2737de2d57df993e004 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 30 Sep 2021 21:16:40 +0300 Subject: [PATCH 42/91] SL-16116 FIXED Mouse clicks don't work in-world --- indra/newview/skins/default/xui/en/main_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index a675dd7ab3..842184de88 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -15,6 +15,7 @@ Date: Fri, 8 Oct 2021 18:20:30 +0300 Subject: [PATCH 43/91] SL-16118 FIXED First item can't be sent to Marketplace through right-click menu --- indra/newview/llviewermenu.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 840089a1c2..b946b4504e 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -388,7 +388,19 @@ void set_merchant_SLM_menu() // All other cases (new merchant, not merchant, migrated merchant): show the new Marketplace Listings menu and enable the tool gMenuHolder->getChild("MarketplaceListings")->setVisible(TRUE); LLCommand* command = LLCommandManager::instance().getCommand("marketplacelistings"); - gToolBarView->enableCommand(command->id(), true); + gToolBarView->enableCommand(command->id(), true); + + const LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false); + if (marketplacelistings_id.isNull()) + { + U32 mkt_status = LLMarketplaceData::instance().getSLMStatus(); + bool is_merchant = (mkt_status == MarketplaceStatusCodes::MARKET_PLACE_MERCHANT) || (mkt_status == MarketplaceStatusCodes::MARKET_PLACE_MIGRATED_MERCHANT); + if (is_merchant) + { + gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, true); + LL_WARNS("SLM") << "Creating the marketplace listings folder for a merchant" << LL_ENDL; + } + } } void check_merchant_status(bool force) From baeb14b7562ac926ab39c8abbb6cd910310548d8 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 3 Nov 2021 11:42:09 +0200 Subject: [PATCH 44/91] SL-15830 remove ancient "non-system grid" handling from the viewer #2 --- indra/newview/llpanellogin.cpp | 63 ---------------------------------- 1 file changed, 63 deletions(-) diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 0dfe5a2330..deb1a963a0 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -92,36 +92,6 @@ LLPointer load_user_credentials(std::string &user_key) } } -// keys are lower case to be case insensitive so they are not always -// identical to names which retain user input, like: -// "AwEsOmE Resident" -> "awesome_resident" -std::string get_user_key_from_name(const std::string &username) -{ - std::string key = username; - LLStringUtil::trim(key); - LLStringUtil::toLower(key); - - // CRED_IDENTIFIER_TYPE_AGENT - size_t separator_index = username.find_first_of(" ._"); - std::string first = username.substr(0, separator_index); - std::string last; - if (separator_index != username.npos) - { - last = username.substr(separator_index + 1, username.npos); - LLStringUtil::trim(last); - } - else - { - // ...on Linden grids, single username users as considered to have - // last name "Resident" - // *TODO: Make login.cgi support "account_name" like above - last = "resident"; - } - - key = first + "_" + last; - return key; -} - class LLLoginLocationAutoHandler : public LLCommandHandler { public: @@ -682,39 +652,6 @@ void LLPanelLogin::getFields(LLPointer& credential, LL_INFOS("Credentials", "Authentication") << "retrieving username:" << username << LL_ENDL; // determine if the username is a first/last form or not. size_t separator_index = username.find_first_of(' '); - if (separator_index == username.npos - && !LLGridManager::getInstance()->isSystemGrid()) - { - LL_INFOS("Credentials", "Authentication") << "account: " << username << LL_ENDL; - // single username, so this is a 'clear' identifier - identifier["type"] = CRED_IDENTIFIER_TYPE_ACCOUNT; - identifier["account_name"] = username; - - if (LLPanelLogin::sInstance->mPasswordModified) - { - // password is plaintext - authenticator["type"] = CRED_AUTHENTICATOR_TYPE_CLEAR; - authenticator["secret"] = password; - } - else - { - credential = load_user_credentials(username); - if (credential.notNull()) - { - authenticator = credential->getAuthenticator(); - if (authenticator.emptyMap()) - { - // Likely caused by user trying to log in to non-system grid - // with unsupported name format, just retry - LL_WARNS() << "Authenticator failed to load for: " << username << LL_ENDL; - // password is plaintext - authenticator["type"] = CRED_AUTHENTICATOR_TYPE_CLEAR; - authenticator["secret"] = password; - } - } - } - } - else { // Be lenient in terms of what separators we allow for two-word names // and allow legacy users to login with firstname.lastname From c9343c400487979c206f0bc5fa3d04d70de6870a Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 19 Nov 2021 06:05:45 +0200 Subject: [PATCH 45/91] DRTVWR-543 Post-merge build fix --- indra/newview/llagentwearables.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 2faccde6a0..2e769dc737 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1616,7 +1616,7 @@ void LLAgentWearables::editWearable(const LLUUID& item_id) return; } - const BOOL disable_camera_switch = LLWearableType::getDisableCameraSwitch(wearable->getType()); + const BOOL disable_camera_switch = LLWearableType::getInstance()->getDisableCameraSwitch(wearable->getType()); LLPanel* panel = LLFloaterSidePanelContainer::getPanel("appearance"); LLSidepanelAppearance::editWearable(wearable, panel, disable_camera_switch); } From 310a3ada469084128e0f1c646881dbf9f97d0138 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 14 Jan 2022 14:02:03 +0100 Subject: [PATCH 46/91] Transplant changes from llchathistory to fschathistory --- indra/newview/fschathistory.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/indra/newview/fschathistory.cpp b/indra/newview/fschathistory.cpp index d2d0dd8b08..d72947c4b3 100644 --- a/indra/newview/fschathistory.cpp +++ b/indra/newview/fschathistory.cpp @@ -595,9 +595,15 @@ public: mHeaderLayoutStack = getChild("header_ls"); mInfoCtrl = LLUICtrlFactory::getInstance()->createFromFile("inspector_info_ctrl.xml", this, LLPanel::child_registry_t::instance()); - llassert(mInfoCtrl != NULL); - mInfoCtrl->setCommitCallback(boost::bind(&FSChatHistoryHeader::onClickInfoCtrl, mInfoCtrl)); - mInfoCtrl->setVisible(FALSE); + if (mInfoCtrl) + { + mInfoCtrl->setCommitCallback(boost::bind(&FSChatHistoryHeader::onClickInfoCtrl, mInfoCtrl)); + mInfoCtrl->setVisible(FALSE); + } + else + { + LL_ERRS() << "Failed to create an interface element due to missing or corrupted file inspector_info_ctrl.xml" << LL_ENDL; + } return LLPanel::postBuild(); } From c0996fa13fc79c7dace48601179c279527671a74 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 14 Jan 2022 14:02:43 +0100 Subject: [PATCH 47/91] Add missing reset skeleton option to viewer menu --- indra/newview/skins/default/xui/en/menu_viewer.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index ff06cfdb51..5a913ca961 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -486,6 +486,18 @@ + + + + + + Date: Fri, 14 Jan 2022 14:03:03 +0100 Subject: [PATCH 48/91] Apply XUI changes to all skins --- .../skins/latency/xui/en/floater_about_land.xml | 1 + .../skins/metaharper/xui/en/main_view.xml | 16 ++++++++++++++-- .../newview/skins/starlight/xui/en/main_view.xml | 16 ++++++++++++++-- .../starlight/xui/en/panel_group_general.xml | 1 + .../skins/starlight/xui/en/panel_status_bar.xml | 1 - .../skins/starlightcui/xui/en/main_view.xml | 14 +++++++++++++- .../starlightcui/xui/en/panel_group_general.xml | 1 + .../starlightcui/xui/en/panel_status_bar.xml | 1 - .../skins/vintage/xui/en/floater_about_land.xml | 1 + 9 files changed, 45 insertions(+), 7 deletions(-) diff --git a/indra/newview/skins/latency/xui/en/floater_about_land.xml b/indra/newview/skins/latency/xui/en/floater_about_land.xml index 4229b12ae8..91a59cc7bf 100644 --- a/indra/newview/skins/latency/xui/en/floater_about_land.xml +++ b/indra/newview/skins/latency/xui/en/floater_about_land.xml @@ -176,6 +176,7 @@ left="10" name="Description:" spellcheck="true" + parse_urls="true" width="100"> Description: diff --git a/indra/newview/skins/metaharper/xui/en/main_view.xml b/indra/newview/skins/metaharper/xui/en/main_view.xml index edf671dab8..e65783d0af 100644 --- a/indra/newview/skins/metaharper/xui/en/main_view.xml +++ b/indra/newview/skins/metaharper/xui/en/main_view.xml @@ -23,6 +23,16 @@ visible="false" width="1024" /> + + + - + + + + + - + + + + Base Premium - Premium Plus + Premium Plus Internal Upgrade to Premium diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index be9d916a5d..16423503e7 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -5102,7 +5102,7 @@ Veuillez vous reporter à http://status.secondlifegrid.net afin de déterminer s Premium - + Premium Plus diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index fb49b87ef7..ea972e5a13 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -5017,7 +5017,7 @@ Consulta la pagina http://status.secondlifegrid.net per determinare se il proble Premium - + Premium Plus diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index fffc49cc76..344f9fcd94 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -5100,7 +5100,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ プレミアム - + プレミアムプラス diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml index b3edd4931c..95b1664279 100644 --- a/indra/newview/skins/default/xui/ru/strings.xml +++ b/indra/newview/skins/default/xui/ru/strings.xml @@ -5096,7 +5096,7 @@ support@secondlife.com. Премиум - + Премиум Плюс From 8bfd7e16f80ca8de96c583370fa73ddcd273529e Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 27 May 2022 03:22:22 +0300 Subject: [PATCH 78/91] post-merge build fix --- indra/newview/llappviewer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index a59044cc2d..19f6edd99c 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3236,7 +3236,7 @@ LLSD LLAppViewer::getViewerInfo() const { drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_NVIDIA); } - else if (gGLManager.mIsATI) + else if (gGLManager.mIsAMD) { drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_AMD); } From 08ac3d11182c5b57bcd2a00583dc80c0cb3c1e1c Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 27 May 2022 12:56:05 +0200 Subject: [PATCH 79/91] Update German translation --- indra/newview/skins/default/xui/de/menu_viewer.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index 76d19e618c..6725ae28cc 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -504,7 +504,7 @@ - + From a426e8ddb31260cbc56106d433d967ebcb9b99aa Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 27 May 2022 19:05:14 +0300 Subject: [PATCH 80/91] DRTVWR-543 post-merge cleanup --- autobuild.xml | 66 ------------------------------ indra/llrender/llgl.cpp | 51 +++++++++++------------ indra/newview/llappviewer.cpp | 2 +- indra/newview/llface.cpp | 1 - indra/newview/llflexibleobject.cpp | 5 +-- indra/newview/llvovolume.cpp | 5 --- 6 files changed, 25 insertions(+), 105 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 298a8c4a42..e0f82a45eb 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -841,72 +841,6 @@ version 0.0.0 - glod - - copyright - Copyright 2003 Jonathan Cohen, Nat Duca, David Luebke, Brenden Schubert - Johns Hopkins University and University of Virginia - license - GLOD Open-Source License Version 1.0 - license_file - LICENSES/GLOD.txt - name - glod - platforms - - darwin64 - - archive - - hash - a9eaa005ff9d387f946283fbcb69b3c8 - url - https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76353/727324/glod-1.0pre3.555522-darwin64-555522.tar.bz2 - - name - darwin64 - - linux64 - - archive - - hash - 9aef5cd576ace19568da01d9bc3db29c - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/1625/3628/glod-1.0pre3.501614-linux64-501614.tar.bz2 - - name - linux64 - - windows - - archive - - hash - e36c95b0d0fbaa3ff3392facaf5de447 - hash_algorithm - md5 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55008/511893/glod-1.0pre3.538980-windows-538980.tar.bz2 - - name - windows - - windows64 - - archive - - hash - 6302ee1903ab419e76565d9eb6acd274 - url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55004/511885/glod-1.0pre3.538980-windows64-538980.tar.bz2 - - name - windows64 - - - version - 1.0pre3.538980 - googlemock copyright diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index c5eea734ac..2b7ce155f6 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -65,7 +65,6 @@ BOOL gClothRipple = FALSE; BOOL gHeadlessClient = FALSE; BOOL gNonInteractive = FALSE; BOOL gGLActive = FALSE; -BOOL gGLDebugLoggingEnabled = TRUE; static const std::string HEADLESS_VENDOR_STRING("Linden Lab"); static const std::string HEADLESS_RENDERER_STRING("Headless"); @@ -87,34 +86,30 @@ void APIENTRY gl_debug_callback(GLenum source, const GLchar* message, GLvoid* userParam) { - if (gGLDebugLoggingEnabled) - { - - if (severity != GL_DEBUG_SEVERITY_HIGH_ARB && - severity != GL_DEBUG_SEVERITY_MEDIUM_ARB && - severity != GL_DEBUG_SEVERITY_LOW_ARB) - { //suppress out-of-spec messages sent by nvidia driver (mostly vertexbuffer hints) - return; - } - - if (severity == GL_DEBUG_SEVERITY_HIGH_ARB) - { - LL_WARNS() << "----- GL ERROR --------" << LL_ENDL; - } - else - { - LL_WARNS() << "----- GL WARNING -------" << LL_ENDL; - } - LL_WARNS() << "Type: " << std::hex << type << LL_ENDL; - LL_WARNS() << "ID: " << std::hex << id << LL_ENDL; - LL_WARNS() << "Severity: " << std::hex << severity << LL_ENDL; - LL_WARNS() << "Message: " << message << LL_ENDL; - LL_WARNS() << "-----------------------" << LL_ENDL; - if (severity == GL_DEBUG_SEVERITY_HIGH_ARB) - { - LL_ERRS() << "Halting on GL Error" << LL_ENDL; - } + if (severity != GL_DEBUG_SEVERITY_HIGH_ARB && + severity != GL_DEBUG_SEVERITY_MEDIUM_ARB && + severity != GL_DEBUG_SEVERITY_LOW_ARB) + { //suppress out-of-spec messages sent by nvidia driver (mostly vertexbuffer hints) + return; } + + if (severity == GL_DEBUG_SEVERITY_HIGH_ARB) + { + LL_WARNS() << "----- GL ERROR --------" << LL_ENDL; + } + else + { + LL_WARNS() << "----- GL WARNING -------" << LL_ENDL; + } + LL_WARNS() << "Type: " << std::hex << type << LL_ENDL; + LL_WARNS() << "ID: " << std::hex << id << LL_ENDL; + LL_WARNS() << "Severity: " << std::hex << severity << LL_ENDL; + LL_WARNS() << "Message: " << message << LL_ENDL; + LL_WARNS() << "-----------------------" << LL_ENDL; + if (severity == GL_DEBUG_SEVERITY_HIGH_ARB) + { + LL_ERRS() << "Halting on GL Error" << LL_ENDL; + } } #endif diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 19f6edd99c..170b22c2ef 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -572,7 +572,7 @@ static void settings_modify() LLRenderTarget::sUseFBO = LLPipeline::sRenderDeferred; LLVOSurfacePatch::sLODFactor = gSavedSettings.getF32("RenderTerrainLODFactor"); LLVOSurfacePatch::sLODFactor *= LLVOSurfacePatch::sLODFactor; // square lod factor to get exponential range of [1,4] - gDebugGL = gSavedSettings.getBOOL("RenderDebugGL") || gDebugSession; + gDebugGL = gDebugGLSession || gDebugSession; gDebugPipeline = gSavedSettings.getBOOL("RenderDebugPipeline"); } diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index e8eac55e50..c3b3ccabb4 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1541,7 +1541,6 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, !rebuild_weights && //TODO: add support for weights !volume.isUnique()) //source volume is NOT flexi { //use transform feedback to pack vertex buffer - //gGLDebugLoggingEnabled = TRUE; LL_PROFILE_ZONE_NAMED_CATEGORY_FACE("getGeometryVolume - transform feedback"); LLGLEnable discard(GL_RASTERIZER_DISCARD); diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index 9b1a1d4e85..d5115df35f 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -788,10 +788,7 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable) volume->updateRelativeXform(); - if (mRenderRes > -1) - { - doFlexibleUpdate(); - } + doFlexibleUpdate(); // Object may have been rotated, which means it needs a rebuild. See SL-47220 BOOL rotated = FALSE; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 04168ac5cb..bae3d540e3 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -105,11 +105,6 @@ S32 LLVOVolume::mRenderComplexity_current = 0; LLPointer LLVOVolume::sObjectMediaClient = NULL; LLPointer LLVOVolume::sObjectMediaNavigateClient = NULL; -extern BOOL gGLDebugLoggingEnabled; -static LLTrace::BlockTimerStatHandle FTM_GEN_TRIANGLES("Generate Triangles"); -static LLTrace::BlockTimerStatHandle FTM_GEN_VOLUME("Generate Volumes"); -static LLTrace::BlockTimerStatHandle FTM_VOLUME_TEXTURES("Volume Textures"); - // Implementation class of LLMediaDataClientObject. See llmediadataclient.h class LLMediaDataClientObjectImpl : public LLMediaDataClientObject { From 90e8cc630d5ce1332b183bf4232c368d385b8f01 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 2 Jun 2022 22:05:03 +0300 Subject: [PATCH 81/91] SL-17505 Preview should be displaying rigged attachments only --- indra/newview/pipeline.cpp | 57 +++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index da16c8209f..c297f0f080 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -10897,22 +10897,47 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar) { markVisible(avatar->mDrawable, *viewer_camera); - LLVOAvatar::attachment_map_t::iterator iter; - for (iter = avatar->mAttachmentPoints.begin(); - iter != avatar->mAttachmentPoints.end(); - ++iter) - { - LLViewerJointAttachment *attachment = iter->second; - for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); - attachment_iter != attachment->mAttachedObjects.end(); - ++attachment_iter) - { - if (LLViewerObject* attached_object = attachment_iter->get()) - { - markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); - } - } - } + if (preview_avatar) + { + // Only show rigged attachments for preview + LLVOAvatar::attachment_map_t::iterator iter; + for (iter = avatar->mAttachmentPoints.begin(); + iter != avatar->mAttachmentPoints.end(); + ++iter) + { + LLViewerJointAttachment *attachment = iter->second; + for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); + attachment_iter != attachment->mAttachedObjects.end(); + ++attachment_iter) + { + LLViewerObject* attached_object = attachment_iter->get(); + if (attached_object && attached_object->isRiggedMesh()) + { + markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); + } + } + } + } + else + { + LLVOAvatar::attachment_map_t::iterator iter; + for (iter = avatar->mAttachmentPoints.begin(); + iter != avatar->mAttachmentPoints.end(); + ++iter) + { + LLViewerJointAttachment *attachment = iter->second; + for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); + attachment_iter != attachment->mAttachedObjects.end(); + ++attachment_iter) + { + LLViewerObject* attached_object = attachment_iter->get(); + if (attached_object) + { + markVisible(attached_object->mDrawable->getSpatialBridge(), *viewer_camera); + } + } + } + } } stateSort(*LLViewerCamera::getInstance(), result); From ff65e23f2097d4cca524d58b4fa2ab839184ee27 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 3 Jun 2022 14:08:04 +0300 Subject: [PATCH 82/91] SL-17515 FIXED Extreme Mouse Sensitivity for Certain Actions --- indra/llwindow/llwindowwin32.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 1f3823509c..4c3aeb4695 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -3057,8 +3057,20 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ if (raw->header.dwType == RIM_TYPEMOUSE) { LLMutexLock lock(&window_imp->mRawMouseMutex); - window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; - window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; + + S32 speed; + const S32 DEFAULT_SPEED(10); + SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); + if (speed == DEFAULT_SPEED) + { + window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; + window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; + } + else + { + window_imp->mRawMouseDelta.mX += round((F32)raw->data.mouse.lLastX * (F32)speed / DEFAULT_SPEED); + window_imp->mRawMouseDelta.mY -= round((F32)raw->data.mouse.lLastY * (F32)speed / DEFAULT_SPEED); + } } } } From 314d08681415d8474bf4885c80df0a1abafbe78b Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 7 Jun 2022 22:19:17 +0300 Subject: [PATCH 83/91] SL-17546 Do not launch updater for a non-interactible instance --- indra/newview/llappviewer.cpp | 3 ++- indra/newview/lllogininstance.cpp | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 170b22c2ef..089e45411c 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1125,7 +1125,8 @@ bool LLAppViewer::init() gGLActive = FALSE; #if LL_RELEASE_FOR_DOWNLOAD - if (!gSavedSettings.getBOOL("CmdLineSkipUpdater")) + // Skip updater if this is a non-interactive instance + if (!gSavedSettings.getBOOL("CmdLineSkipUpdater") && !gNonInteractive) { LLProcess::Params updater; updater.desc = "updater process"; diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index a3d0eb5796..e2e5e161c2 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -280,7 +280,9 @@ void LLLoginInstance::constructAuthParams(LLPointer user_credentia mRequestData["options"] = requested_options; mRequestData["http_params"] = http_params; #if LL_RELEASE_FOR_DOWNLOAD - mRequestData["wait_for_updater"] = !gSavedSettings.getBOOL("CmdLineSkipUpdater") && !LLAppViewer::instance()->isUpdaterMissing(); + mRequestData["wait_for_updater"] = !gSavedSettings.getBOOL("CmdLineSkipUpdater") + && !LLAppViewer::instance()->isUpdaterMissing() + && !gNonInteractive; #else mRequestData["wait_for_updater"] = false; #endif From 2efd6727c1c492a178eff42484c35be7c08e5857 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 8 Jun 2022 15:34:12 +0300 Subject: [PATCH 84/91] SL-17546 Fix 'release' configuration build tests --- indra/newview/llappviewer.cpp | 5 +++++ indra/newview/llappviewer.h | 1 + indra/newview/lllogininstance.cpp | 4 +--- indra/newview/tests/lllogininstance_test.cpp | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 089e45411c..f54093d9d0 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3147,6 +3147,11 @@ bool LLAppViewer::isUpdaterMissing() return mUpdaterNotFound; } +bool LLAppViewer::waitForUpdater() +{ + return !gSavedSettings.getBOOL("CmdLineSkipUpdater") && !mUpdaterNotFound && !gNonInteractive; +} + void LLAppViewer::writeDebugInfo(bool isStatic) { #if LL_WINDOWS && LL_BUGSPLAT diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 68c04d450b..7ab21f35cd 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -106,6 +106,7 @@ public: bool logoutRequestSent() { return mLogoutRequestSent; } bool isSecondInstance() { return mSecondInstance; } bool isUpdaterMissing(); // In use by tests + bool waitForUpdater(); void writeDebugInfo(bool isStatic=true); diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index e2e5e161c2..82ecfbd4dc 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -280,9 +280,7 @@ void LLLoginInstance::constructAuthParams(LLPointer user_credentia mRequestData["options"] = requested_options; mRequestData["http_params"] = http_params; #if LL_RELEASE_FOR_DOWNLOAD - mRequestData["wait_for_updater"] = !gSavedSettings.getBOOL("CmdLineSkipUpdater") - && !LLAppViewer::instance()->isUpdaterMissing() - && !gNonInteractive; + mRequestData["wait_for_updater"] = LLAppViewer::instance()->waitForUpdater(); #else mRequestData["wait_for_updater"] = false; #endif diff --git a/indra/newview/tests/lllogininstance_test.cpp b/indra/newview/tests/lllogininstance_test.cpp index a52c3dcef9..696fe3536c 100644 --- a/indra/newview/tests/lllogininstance_test.cpp +++ b/indra/newview/tests/lllogininstance_test.cpp @@ -223,6 +223,7 @@ bool llHashedUniqueID(unsigned char* id) #include "../llappviewer.h" void LLAppViewer::forceQuit(void) {} bool LLAppViewer::isUpdaterMissing() { return true; } +bool LLAppViewer::waitForUpdater() { return false; } LLAppViewer * LLAppViewer::sInstance = 0; //----------------------------------------------------------------------------- From d095f199c63569488c7bf9eeb3a839f5586547cd Mon Sep 17 00:00:00 2001 From: Nicky Date: Mon, 20 Jun 2022 02:44:37 +0200 Subject: [PATCH 85/91] FIRE-31758: - getNameFromUUID can lead to wrong avatarNameCacheCallback callbacks. For example the avatars name is not resolved/cached and gets first queried for owner (rlvacheck = true) then again for creator (rlva check = false). Result is a final callback with rlvacheck = false. Thus handle all rlva name restrictions when the ui items get created/updated/ - For attachments last owner usually equals the current wearer, this will leak the avtar name. -> RLVa hide the last owner too. --- indra/newview/fsareasearch.cpp | 60 +++++++++++++++------------------- indra/newview/fsareasearch.h | 4 +-- 2 files changed, 28 insertions(+), 36 deletions(-) diff --git a/indra/newview/fsareasearch.cpp b/indra/newview/fsareasearch.cpp index 8f2d113217..8fc1699282 100644 --- a/indra/newview/fsareasearch.cpp +++ b/indra/newview/fsareasearch.cpp @@ -81,6 +81,13 @@ const F32 MIN_DISTANCE_MOVED = 1.0f; // timeout to resend object properties request again const F32 REQUEST_TIMEOUT = 30.0f; +std::string RLVa_hideNameIfRestricted(std::string const &name) +{ + if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) + return name; + else + return RlvStrings::getAnonym(name); +} F32 calculateObjectDistance(LLVector3d agent_pos, LLViewerObject* object) { @@ -907,10 +914,13 @@ void FSAreaSearch::matchObject(FSObjectProperties& details, LLViewerObject* obje std::string object_description = details.description; details.name_requested = false; - getNameFromUUID(details.ownership_id, true, owner_name, details.group_owned, details.name_requested); - getNameFromUUID(details.creator_id, false, creator_name, false, details.name_requested); - getNameFromUUID(details.last_owner_id, false, last_owner_name, false, details.name_requested); - getNameFromUUID(details.group_id, false, group_name, true, details.name_requested); + getNameFromUUID(details.ownership_id, owner_name, details.group_owned, details.name_requested); + getNameFromUUID(details.creator_id, creator_name, false, details.name_requested); + getNameFromUUID(details.last_owner_id, last_owner_name, false, details.name_requested); + getNameFromUUID(details.group_id, group_name, true, details.name_requested); + + owner_name = RLVa_hideNameIfRestricted(owner_name); + last_owner_name = RLVa_hideNameIfRestricted(last_owner_name); if (mRegexSearch) { @@ -1042,7 +1052,7 @@ void FSAreaSearch::matchObject(FSObjectProperties& details, LLViewerObject* obje cell_params.column = "owner"; cell_params.value = owner_name; - row_params.columns.add(cell_params); + row_params.columns.add(cell_params); cell_params.column = "group"; cell_params.value = group_name; @@ -1105,7 +1115,7 @@ void FSAreaSearch::updateObjectCosts(const LLUUID& object_id, F32 object_cost, F } } -void FSAreaSearch::getNameFromUUID(const LLUUID& id, bool needs_rlva_check, std::string& name, bool group, bool& name_requested) +void FSAreaSearch::getNameFromUUID(const LLUUID& id, std::string& name, bool group, bool& name_requested) { static const std::string unknown_name = LLTrans::getString("AvatarNameWaiting"); @@ -1127,46 +1137,28 @@ void FSAreaSearch::getNameFromUUID(const LLUUID& id, bool needs_rlva_check, std: else { LLAvatarName av_name; - if (LLAvatarNameCache::get(id, &av_name)) - { - if (!needs_rlva_check || !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) - { - name = av_name.getCompleteName(); - } - else - { - name = RlvStrings::getAnonym(av_name); - } - } - else + if (!LLAvatarNameCache::get(id, &av_name)) { name = unknown_name; if (std::find(mNamesRequested.begin(), mNamesRequested.end(), id) == mNamesRequested.end()) { mNamesRequested.push_back(id); - boost::signals2::connection cb_connection = LLAvatarNameCache::get(id, boost::bind(&FSAreaSearch::avatarNameCacheCallback, this, _1, _2, needs_rlva_check)); + boost::signals2::connection cb_connection = LLAvatarNameCache::get(id, boost::bind(&FSAreaSearch::avatarNameCacheCallback, this, _1, _2)); mNameCacheConnections.insert(std::make_pair(id, cb_connection)); // mNamesRequested will do the dupe check } name_requested = true; } + else + name = av_name.getCompleteName(); } } -void FSAreaSearch::avatarNameCacheCallback(const LLUUID& id, const LLAvatarName& av_name, bool needs_rlva_check) +void FSAreaSearch::avatarNameCacheCallback(const LLUUID& id, const LLAvatarName& av_name) { - std::string name; - if (!needs_rlva_check || !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) - { - name = av_name.getCompleteName(); - } - else - { - name = RlvStrings::getAnonym(av_name); - } - callbackLoadFullName(id, name); + callbackLoadFullName(id, av_name.getCompleteName()); } -void FSAreaSearch::callbackLoadFullName(const LLUUID& id, const std::string& full_name) +void FSAreaSearch::callbackLoadFullName(const LLUUID& id, const std::string& full_name ) { auto iter = mNameCacheConnections.find(id); if (iter != mNameCacheConnections.end()) @@ -1193,7 +1185,7 @@ void FSAreaSearch::callbackLoadFullName(const LLUUID& id, const std::string& ful } } - mPanelList->updateName(id, full_name); + mPanelList->updateName(id, full_name); } void FSAreaSearch::updateCounterText() @@ -1613,7 +1605,7 @@ void FSPanelAreaSearchList::updateName(const LLUUID& id, const std::string& name if (owner_column && (id == details.owner_id)) { LLScrollListText* owner_text = (LLScrollListText*)item->getColumn(owner_column->mIndex); - owner_text->setText(name); + owner_text->setText(RLVa_hideNameIfRestricted(name)); mResultList->setNeedsSort(); } @@ -1627,7 +1619,7 @@ void FSPanelAreaSearchList::updateName(const LLUUID& id, const std::string& name if (last_owner_column && (id == details.last_owner_id)) { LLScrollListText* last_owner_text = (LLScrollListText*)item->getColumn(last_owner_column->mIndex); - last_owner_text->setText(name); + last_owner_text->setText(RLVa_hideNameIfRestricted(name)); mResultList->setNeedsSort(); } } diff --git a/indra/newview/fsareasearch.h b/indra/newview/fsareasearch.h index 00c8e36444..9ffdcb4499 100644 --- a/indra/newview/fsareasearch.h +++ b/indra/newview/fsareasearch.h @@ -114,7 +114,7 @@ public: virtual void draw(); virtual void onOpen(const LLSD& key); - void avatarNameCacheCallback(const LLUUID& id, const LLAvatarName& av_name, bool needs_rlva_check); + void avatarNameCacheCallback(const LLUUID& id, const LLAvatarName& av_name); void callbackLoadFullName(const LLUUID& id, const std::string& full_name); void processObjectProperties(LLMessageSystem* msg); void updateObjectCosts(const LLUUID& object_id, F32 object_cost, F32 link_cost, F32 physics_cost, F32 link_physics_cost); @@ -172,7 +172,7 @@ public: private: void requestObjectProperties(const std::vector< U32 >& request_list, bool select, LLViewerRegion* regionp); void matchObject(FSObjectProperties& details, LLViewerObject* objectp); - void getNameFromUUID(const LLUUID& id, bool needs_rvla_check, std::string& name, bool group, bool& name_requested); + void getNameFromUUID(const LLUUID& id, std::string& name, bool group, bool& name_requested); void updateCounterText(); bool regexTest(std::string text); From 820799e19345e558b9d0051f0357f277b60284fa Mon Sep 17 00:00:00 2001 From: Zi Ree Date: Wed, 22 Jun 2022 03:20:54 +0200 Subject: [PATCH 86/91] FIRE-31718 - truncate preprocessed lsl script text in case of an error to prevent the viewer from stalling while trying to fit a massive blob of text into the script editor --- indra/newview/fslslpreproc.cpp | 16 ++++++++++++++++ indra/newview/skins/default/xui/en/strings.xml | 1 + 2 files changed, 17 insertions(+) diff --git a/indra/newview/fslslpreproc.cpp b/indra/newview/fslslpreproc.cpp index b2e815df0a..12f46fa2eb 100644 --- a/indra/newview/fslslpreproc.cpp +++ b/indra/newview/fslslpreproc.cpp @@ -1540,6 +1540,22 @@ void FSLSLPreprocessor::start_process() } } } + else + { + // FIRE-31718: Preprocessor crashes viewer on recursive #include + + // Truncate the resulting preprocessed script to something the text field can handle without + // freezing for so long the viewer disconnects. The usual script source code limit is 64kB so + // let's play it safe and allow twice as much here. The script is most likely already unusable + // at this point due to the preprocessor bailing out with an error earlier, so a truncated + // version doesn't hurt more than it already did. + if (output.size() > 128 * 1024) + { + output.resize(128 * 1024); + display_error(LLTrans::getString("fs_preprocessor_truncated")); + } + } + if (!errored) { if (preprocessor_enabled && use_compression) diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 722bc66f90..4ecb7e2744 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3153,6 +3153,7 @@ Your current position: [AVATAR_POS] Caching completed for '[FILENAME]' Error: script named '[FILENAME]' isn't safe to copy to the filesystem. This include will fail. Error caching included file '[FILENAME]' + Warning: Preprocessor output truncated due to excessive script text size. This script will most likely not work. From 376b700323317fb7e948317e6a7f04a50dd4cf8b Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 22 Jun 2022 09:05:39 +0200 Subject: [PATCH 87/91] Update German translation --- indra/newview/skins/default/xui/de/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index eb7e2b539c..ed1376612d 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -7038,6 +7038,9 @@ Ihre aktuelle Position: [AVATAR_POS] Fehler beim Cachen der eingebundenen Datei „[FILENAME]“. + + Achtung: Präprozessor-Ausgabe wurde aufgrund exzessiver Textlänge gekürzt. Das Skript wird wahrscheinlich nicht funktionieren. + Vor [SECONDS] Sekunden From 3854603ce8e42ec4939709673aa18ed69397f38f Mon Sep 17 00:00:00 2001 From: PanteraPolnocy Date: Wed, 22 Jun 2022 16:26:57 +0200 Subject: [PATCH 88/91] FIRE-31764 French translation update, by Laurent Bechir; Minor Polish update as well --- .../newview/skins/default/xui/fr/strings.xml | 72 +++++++++++++++++++ .../newview/skins/default/xui/pl/strings.xml | 3 + 2 files changed, 75 insertions(+) diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index bcb9e148b9..95f2764cca 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -6824,6 +6824,78 @@ Votre position actuelle : [AVATAR_POS] Détection de la directive compile-as-Mono outrepassant les préférences. + + + Optimisation des fonctions définies par l'utilisateur et des variables globales non référencées. + + + Expression régulière non valide : '[WHAT]' ; optimisation LSL ignorée. + + + Exception détectée : '[WHAT]' ; optimisation LSL sautée. + + + Exception inattendue dans l'optimiseur LSL ; non appliquée. + + + + Compression du texte du script en supprimant les espaces inutiles. + + + Expression régulière non valide : '[WHAT]' ; la compression LSL est ignorée. + + + Exception interceptée : '[WHAT]' ; la compression LSL est ignorée. + + + Exception inattendue dans le compresseur LSL ; non appliquée. + + + + Appliquer la conversion de liste paresseuse. + + + Pas une expression régulière valide : '[WHAT]' ; Le convertisseur de liste paresseux a été ignoré. + + + Exception interceptée : '[WHAT]' ; le convertisseur de liste paresseux a été ignoré. + + + Exception inattendue dans le convertisseur de liste paresseux ; non appliquée. + + + + Application de la conversion des instructions de commutation. + + + Expression régulière non valide : '[WHAT]' ; Le convertisseur d'instruction de commutation a été ignoré. + + + Exception interceptée : '[WHAT]' ; Le convertisseur d'instruction de commutation a été ignoré. + + + Exception inattendue dans le convertisseur d'instruction de commutation ; non appliquée. + + + + Mise en cache du fichier inclus : '[FILENAME]'. + + + Le fichier inclus '[FILENAME]' a changé, remise en cache. + + + La mise en cache est terminée pour '[FILENAME]'. + + + Erreur : le script nommé '[FILENAME]' n'est pas fiable pour être copié dans le système de fichiers. Cet include échouera. + + + Erreur de mise en cache du fichier inclus '[FILENAME]'. + + + Avertissement : La sortie du préprocesseur a été tronquée en raison de la taille excessive du texte du script. Ce script ne fonctionnera probablement pas. + + diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index 5e6b5eabed..a29a537079 100644 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml @@ -6329,6 +6329,9 @@ Twoja aktualna pozycja: [AVATAR_POS] Błąd podczas buforowania pliku '[FILENAME]' + + Uwaga: Dane wyjściowe preprocesora zostały skrócone z powodu zbyt dużego rozmiaru tekstu skryptu - prawdopodobnie nie zadziała. + [SECONDS] sekund temu From 5770602a4b0bc808ff4ea4897768d4d96a858727 Mon Sep 17 00:00:00 2001 From: PanteraPolnocy Date: Thu, 23 Jun 2022 00:28:56 +0200 Subject: [PATCH 89/91] FIRE-31767 Updated Russian translation, by Romka Swallowtail --- indra/newview/skins/default/xui/ru/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml index 4d13964120..a760d0a492 100644 --- a/indra/newview/skins/default/xui/ru/strings.xml +++ b/indra/newview/skins/default/xui/ru/strings.xml @@ -6626,6 +6626,9 @@ ID объекта: [INSPECTING_KEY] Ошибка кэширования подключенного файла '[FILENAME]' + + Предупреждение: Выходные данные препроцессора усечены из-за чрезмерного размера текста скрипта. Этот скрипт, скорее всего, не будет работать. + [SECONDS] секунд назад From c49fa9a8927b7294138142048eca8ce43148746d Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Mon, 27 Jun 2022 23:28:01 +0200 Subject: [PATCH 90/91] FIRE-31330: Don't show for scripted content that temp-attaches a rigged mesh (e.g. insane asylum experience) --- indra/newview/llvoavatar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 957cf07b77..0cc0806a6d 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -11981,7 +11981,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity() // place in the code. For now, this is a good spot as the complexity calculation // gets updated when rigging data arrives, so we can reliably identify rigged // attachments where the skinning information took a while to load. - if (attached_object->isHUDAttachment() && attached_object->mCheckRigOnHUD) + if (attached_object->isHUDAttachment() && attached_object->mCheckRigOnHUD && !attached_object->isTempAttachment()) { // check if the root object is rigged bool is_rigged = attached_object->isRiggedMesh(); From 1e4f2ec07e32a142f35817d3186a124df3f8cd25 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Wed, 29 Jun 2022 11:01:34 -0400 Subject: [PATCH 91/91] Increment viewer version to 6.6.2 following promotion of DRTVWR-543 --- indra/newview/VIEWER_VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 09a7391e4e..28179fc1f5 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -6.6.1 +6.6.2