diff --git a/autobuild.xml b/autobuild.xml
index bcb424112c..3fa8fe8865 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -292,9 +292,9 @@
archive
name
darwin64
@@ -328,9 +328,9 @@
archive
name
windows
@@ -340,16 +340,16 @@
archive
name
windows64
version
- 1.4.5.548882
+ 1.4.5.555520
boost
version
- 2.3.545362
+ 2.3.557064
curl
@@ -602,9 +602,9 @@
archive
hash
- f5ae57117a6518d11f49ccfbfbe0969d
+ 7295ca3234ab21a98c39604f3b0985cb
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/78596/744055/curl-7.54.1.557049-darwin64-557049.tar.bz2
name
darwin64
@@ -638,11 +638,11 @@
archive
hash
- 2796ae7b09e730a55ac03f74ed669520
+ 0c31fa12a33ecc946c0c69259b6367a9
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/78598/744050/curl-7.54.1.557049-windows-557049.tar.bz2
name
windows
@@ -652,16 +652,16 @@
archive
hash
- a8f96e5cdb8128b23d49ff4c3f2233a4
+ 4c4d5971a59ae2e1f4467667df2a9aa4
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/78597/744044/curl-7.54.1.557049-windows64-557049.tar.bz2
name
windows64
version
- 7.54.1.545369
+ 7.54.1.557049
db
@@ -784,9 +784,9 @@
archive
hash
- cc26af2ebfa241891caca829a6e46b88
+ 46124156a4148d61c849d328c8659f78
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/65005/607316/dullahan-1.7.0.202008031101_81.3.10_gb223419_chromium-81.0.4044.138-darwin64-546064.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76900/730915/dullahan-1.7.0.202102101914_81.3.10_gb223419_chromium-81.0.4044.138-darwin64-555904.tar.bz2
name
darwin64
@@ -829,7 +829,7 @@
version
- 1.7.0.202008031800_81.3.10_gb223419_chromium-81.0.4044.138
+ 1.7.0.202102101918_81.3.10_gb223419_chromium-81.0.4044.138
elfio
@@ -886,9 +886,9 @@
archive
hash
- 3656b7f7b655cb267fd94f089d2e145c
+ f4e80e0dfcab713a3da90cd8f7f23e7b
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54860/510198/expat-2.1.1.538990-darwin64-538990.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76341/727265/expat-2.1.1.555519-darwin64-555519.tar.bz2
name
darwin64
@@ -922,9 +922,9 @@
archive
hash
- c509f8afa1e02f4c16232cce7f6855f8
+ cd4fe03473076c324d80ae3bd91a85bb
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55056/512080/expat-2.1.1.538990-windows-538990.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76343/727273/expat-2.1.1.555519-windows-555519.tar.bz2
name
windows
@@ -934,16 +934,16 @@
archive
hash
- aba97cfdf44c04dbfcac89c7cb472580
+ d2d74d73b914150982b1883a3b96e60b
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55054/512068/expat-2.1.1.538990-windows64-538990.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76344/727279/expat-2.1.1.555519-windows64-555519.tar.bz2
name
windows64
version
- 2.1.1.538990
+ 2.1.1.555519
fmodstudio
@@ -1092,9 +1092,9 @@
archive
hash
- 81a2e9aca3e33c4eecf0081854540b07
+ 3a478d6c8a10d49d9161ef864394b03c
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/78592/744013/freetype-2.4.4.557047-darwin64-557047.tar.bz2
name
darwin64
@@ -1128,9 +1128,9 @@
archive
hash
- 0dbb1a9d15bb134096476d657f86ce41
+ 4b3b02027ec0b64c479837f57e3d4ec8
url
- http://3p.firestormviewer.org/freetype-2.3.9.202022048-windows-202022048.tar.bz2
+ http://3p.firestormviewer.org/freetype-2.3.9.210761651-windows-210761651.tar.bz2
name
windows
@@ -1140,16 +1140,16 @@
archive
hash
- c000d0c98bded51c7bc7447dc7934e6c
+ 1b3ace03dcd61fa800a186213477a5fb
url
- http://3p.firestormviewer.org/freetype-2.3.9.202022049-windows64-202022049.tar.bz2
+ http://3p.firestormviewer.org/freetype-2.3.9.210761652-windows64-210761652.tar.bz2
name
windows64
version
- 2.4.4.539865
+ 2.4.4.557047
glext
@@ -1353,96 +1353,6 @@
version
1.0pre3.532346
- 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
- ca43974302dc3e2019b0838c2c53b8b5
- url
- http://3p.firestormviewer.org/google_breakpad-1413.202021450-linux64-202021450.tar.bz2
-
- name
- linux
-
- linux64
-
- archive
-
- hash
- ae2b368225d5705233284e08b9981a35
- url
- http://3p.firestormviewer.org/google_breakpad-1413.202022149-linux64-202022149.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
@@ -1474,9 +1384,9 @@
archive
hash
- f9831360ced94943ab9dfb3fbf5256d3
+ 19e925604bc1a91efb4b130e1edd8bf2
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/78620/744140/googlemock-1.7.0.557057-darwin64-557057.tar.bz2
name
darwin64
@@ -1510,9 +1420,9 @@
archive
hash
- 8149e46b4f7abb3ac284415cfe1366e1
+ eed7b41d0d1f41b24f315349ef78c728
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/78622/744148/googlemock-1.7.0.557057-windows-557057.tar.bz2
name
windows
@@ -1522,16 +1432,16 @@
archive
hash
- f3851eba809ead2810d702041569d36d
+ a6ad6fe722d2fe4e8137495af3f374c9
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/78621/744152/googlemock-1.7.0.557057-windows64-557057.tar.bz2
name
windows64
version
- 1.7.0.545363
+ 1.7.0.557057
gstreamer
@@ -1980,9 +1890,9 @@
archive
hash
- c327e6d6573fc0a808677de47f08acd9
+ 2021ea3a19b81c82993e733709683303
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54844/510092/libhunspell-1.3.2.538974-darwin64-538974.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76371/727419/libhunspell-1.3.2.555528-darwin64-555528.tar.bz2
name
darwin64
@@ -2016,9 +1926,9 @@
archive
hash
- ec22ec25160bcfd2a74f1c7bc8ff6133
+ 2253ec09136cc7c208481030d78d9dd7
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54986/511824/libhunspell-1.3.2.538974-windows-538974.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76369/727412/libhunspell-1.3.2.555528-windows-555528.tar.bz2
name
windows
@@ -2028,16 +1938,16 @@
archive
hash
- f470c6f3f7b0559e95e76467b808de10
+ 858d1708f6b3a74738a3d57a5387e20f
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54985/511817/libhunspell-1.3.2.538974-windows64-538974.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76370/727413/libhunspell-1.3.2.555528-windows64-555528.tar.bz2
name
windows64
version
- 1.3.2.538974
+ 1.3.2.555528
libndofdev
@@ -2070,9 +1980,9 @@
archive
hash
- bf765dfe0b928ef3c531cd9618fee89b
+ a487fff84208a45844602c4a1f68c974
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54843/510085/libndofdev-0.1.538973-darwin64-538973.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76356/727333/libndofdev-0.1.555523-darwin64-555523.tar.bz2
name
darwin64
@@ -2082,9 +1992,9 @@
archive
hash
- 8abb7d216535009f6c0a7e43b0734b1e
+ 4c839555bf0ed9ae60ffc3f8a7c96f9b
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54984/511810/libndofdev-0.1.538973-windows-538973.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76354/727340/libndofdev-0.1.555523-windows-555523.tar.bz2
name
windows
@@ -2094,16 +2004,16 @@
archive
hash
- 9da7aed5a914174dcb2be12ecd4a656f
+ cbc033ae3b034b992b59f6de1034247c
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54983/511803/libndofdev-0.1.538973-windows64-538973.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76355/727341/libndofdev-0.1.555523-windows64-555523.tar.bz2
name
windows64
version
- 0.1.538973
+ 0.1.555523
libpng
@@ -2136,9 +2046,9 @@
archive
hash
- 0932b19bb6a8e2641706afd13d92951d
+ 2a41acc3116ce19a443873216cb882ad
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/78587/743948/libpng-1.6.8.557046-darwin64-557046.tar.bz2
name
darwin64
@@ -2172,9 +2082,9 @@
archive
hash
- f498782698428888113b64a7505c8f7f
+ b935b440947f63c69700bdcf5095a8e1
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/78591/743970/libpng-1.6.8.557046-windows-557046.tar.bz2
name
windows
@@ -2184,16 +2094,16 @@
archive
hash
- f8ac4f690a2925418866bccf6eba3cf4
+ d1cc8354ac4e877eefedf16b1be3aac6
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/78589/743991/libpng-1.6.8.557046-windows64-557046.tar.bz2
name
windows64
version
- 1.6.8.539868
+ 1.6.8.557046
libuuid
@@ -2268,9 +2178,9 @@
archive
hash
- 0706b9c3889d767af9f5105d9ffa9b51
+ 6677173bbbb0ea32369b5e9b6c9aa641
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/78631/744225/libxml2-2.9.4.557062-darwin64-557062.tar.bz2
name
darwin64
@@ -2304,9 +2214,9 @@
archive
hash
- 1b7b979a8387fbb0f278dc681558b9ef
+ ad6a596fbf0e83a21d95762da78437bc
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/78633/744239/libxml2-2.9.4.557062-windows-557062.tar.bz2
name
windows
@@ -2316,16 +2226,16 @@
archive
hash
- 4f8ff97d6a9ab350306b62eec8adc810
+ 6b5bb230684ecf28386d7c91c47bb6e1
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/78634/744240/libxml2-2.9.4.557062-windows64-557062.tar.bz2
name
windows64
version
- 2.9.4.539866
+ 2.9.4.557062
llappearance_utility
@@ -2602,9 +2512,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
@@ -2638,9 +2548,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
@@ -2650,9 +2560,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
@@ -2661,7 +2571,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
source_type
hg
version
- 1.40.0.545354
+ 1.40.0.555524
nvapi
@@ -3016,9 +2926,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 18aef0c8fc471b6539addbdc019aea25
+ 166aa05b379b13156de5821252040498
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/78582/743936/openssl-1.0.2l.557043-darwin64-557043.tar.bz2
name
darwin64
@@ -3052,9 +2962,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 2b2f61313b1cbd2893c1ba5bf15061fa
+ 68aae05216c035283c79aad6dd88d8da
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/78590/743992/openssl-1.0.2l.557043-windows-557043.tar.bz2
name
windows
@@ -3064,16 +2974,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 59aae854155bc7119e0dca25e65828c0
+ d2576a386559cefb654154d8f0de6337
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/78588/743976/openssl-1.0.2l.557043-windows64-557043.tar.bz2
name
windows64
version
- 1.0.2l.539874
+ 1.0.2l.557043
pcre
@@ -3462,9 +3372,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- e5635e173c75dc0675b48ab5f5e4868b
+ b639d0035f4a8c9b4973be428a1b7e61
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/12143/71451/vlc_bin-2.2.8.511703-darwin64-511703.tar.bz2
+ http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/69569/671323/vlc_bin-3.0.9.549888-darwin64-549888.tar.bz2
name
darwin64
@@ -3498,9 +3408,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- ca84b7c5f86e702fb35727eed8f0c8c4
+ 4f50b0c47daa081dd4fcb83763d5b0b2
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54958/511725/vlc_bin-2.2.8.538966-windows-538966.tar.bz2
+ http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/69567/671314/vlc_bin-3.0.9.549888-windows-549888.tar.bz2
name
windows
@@ -3510,16 +3420,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 93cd88d90cb8aedbed5cd90ff9262409
+ c2f8c01fb6c261b72beb07f0c4cd423f
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/54954/511718/vlc_bin-2.2.8.538966-windows64-538966.tar.bz2
+ http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/69568/671315/vlc_bin-3.0.9.549888-windows64-549888.tar.bz2
name
windows64
version
- 2.2.8.538966
+ 3.0.9.549888
xmlrpc-epi
@@ -3552,9 +3462,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 99ea1808ee9f5b55029daa9fdef86776
+ 922a0dea32266897ed1911200438e1e1
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55063/512104/xmlrpc_epi-0.54.1.539072-darwin64-539072.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76372/727426/xmlrpc_epi-0.54.1.555529-darwin64-555529.tar.bz2
name
darwin64
@@ -3588,9 +3498,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 94643b7cebb449f049fa9e32ae682bcd
+ 34b847e6b280048465fe7c6ce67fe05c
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55138/512288/xmlrpc_epi-0.54.1.539072-windows-539072.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76374/727436/xmlrpc_epi-0.54.1.555529-windows-555529.tar.bz2
name
windows
@@ -3600,16 +3510,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- c409de1974a879291ce7daaf52348d85
+ 8fbe7c4ea22bb7f23a93c73884ebb34c
url
- http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/55137/512279/xmlrpc_epi-0.54.1.539072-windows64-539072.tar.bz2
+ https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/76373/727435/xmlrpc_epi-0.54.1.555529-windows64-555529.tar.bz2
name
windows64
version
- 0.54.1.539072
+ 0.54.1.555529
zlib
@@ -3642,9 +3552,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 9785bda5b4d3b41bf391b33d0da78c9e
+ 9181bc8229f1a8e480d2a40a2744ec28
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/78578/743913/zlib-1.2.11.557041-darwin64-557041.tar.bz2
name
darwin64
@@ -3680,9 +3590,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- ebdb07d4aaa5312005a8773f625032a4
+ 8308cbd2ea0fe290541698b0f63482e2
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/78579/743926/zlib-1.2.11.557041-windows-557041.tar.bz2
name
windows
@@ -3692,16 +3602,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
hash
- 0ac95f3dece7d575ba45cf5728f53eea
+ 36bdc34f67d3ad3c57125dc1b16a3129
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/78577/743920/zlib-1.2.11.557041-windows64-557041.tar.bz2
name
windows64
version
- 1.2.8.538988
+ 1.2.11.557041
package_description
diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt
index 1beedb4961..d8f6db9003 100644
--- a/indra/CMakeLists.txt
+++ b/indra/CMakeLists.txt
@@ -127,13 +127,10 @@ elseif (DARWIN)
add_subdirectory(${VIEWER_PREFIX}mac_crash_logger)
add_dependencies(viewer mac-crash-logger)
elseif (WINDOWS)
- add_subdirectory(${VIEWER_PREFIX}win_crash_logger)
# 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)
- # add_dependencies(viewer windows-setup windows-crash-logger)
- add_dependencies(viewer windows-crash-logger)
endif (LINUX)
add_subdirectory(${VIEWER_PREFIX}newview)
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index 55e24df9b5..7819669385 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -30,7 +30,6 @@ set(cmake_SOURCE_FILES
FindBerkeleyDB.cmake
FindFMODSTUDIO.cmake
FindGLH.cmake
- FindGoogleBreakpad.cmake
FindHUNSPELL.cmake
FindJsonCpp.cmake
FindNDOF.cmake
@@ -45,7 +44,6 @@ set(cmake_SOURCE_FILES
GLH.cmake
GLOD.cmake
## GStreamer010Plugin.cmake
- GoogleBreakpad.cmake
GoogleMock.cmake
Growl.cmake
Havok.cmake
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index c0652e556c..15af13a239 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -189,7 +189,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 e9f67b98c7..0000000000
--- a/indra/cmake/FindGoogleBreakpad.cmake
+++ /dev/null
@@ -1,44 +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.
-
-# LL code uses "google_breakpad" path prefix, while google breakpad headers don't use a prefix. Find and add both paths to the correct variable.
-FIND_PATH(BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR google_breakpad/exception_handler.h)
-FIND_PATH(BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIRS exception_handler.h PATH_SUFFIXES google_breakpad)
-SET(BREAKPAD_INCLUDE_DIRECTORIES ${BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR} ${BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIRS})
-
-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}")
- MESSAGE(STATUS "Found Google BreakPad headers in: ${BREAKPAD_INCLUDE_DIRECTORIES}")
- 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 83cf9cb1e7..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 cd59780a0f..e24ac88849 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -8,7 +8,6 @@ include(Linking)
include(Boost)
include(LLSharedLibs)
include(JsonCpp)
-include(GoogleBreakpad)
include(Copy3rdPartyLibs)
include(ZLIB)
include(URIPARSER)
@@ -18,7 +17,6 @@ include_directories(
${LLCOMMON_INCLUDE_DIRS}
${JSONCPP_INCLUDE_DIR}
${ZLIB_INCLUDE_DIRS}
- ${BREAKPAD_INCLUDE_DIRECTORIES}
${URIPARSER_INCLUDE_DIRS}
)
@@ -321,7 +319,6 @@ endif(NOT WORD_SIZE EQUAL 32)
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 f2c55c321f..a08ff2ce22 100644
--- a/indra/llcommon/llapp.cpp
+++ b/indra/llcommon/llapp.cpp
@@ -47,8 +47,6 @@
#include "llstring.h"
#include "lleventtimer.h"
-#include "google_breakpad/exception_handler.h"
-
#include "stringize.h"
#include "llcleanup.h"
#include "llevents.h"
@@ -64,12 +62,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()
@@ -148,8 +140,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)
@@ -179,8 +169,6 @@ LLApp::~LLApp()
delete mThreadErrorp;
mThreadErrorp = NULL;
}
-
- if(mExceptionHandler != 0) delete mExceptionHandler;
SUBSYSTEM_CLEANUP_DBG(LLCommon);
}
@@ -396,70 +384,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;
- U32 maskMiniDumpType = MiniDumpNormal | MiniDumpFilterModulePaths;
- 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.
- (MINIDUMP_TYPE)maskMiniDumpType, // Pass custom minidump type from prefs to breakpad.
- 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)
@@ -514,10 +438,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))
{
@@ -612,31 +532,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";
@@ -645,8 +540,6 @@ void LLApp::setDebugFileNames(const std::string &path)
void LLApp::writeMiniDump()
{
- if(mExceptionHandler == 0) return;
- mExceptionHandler->WriteMinidump();
}
// static
@@ -703,13 +596,6 @@ bool LLApp::isExiting()
void LLApp::disableCrashlogger()
{
- // Disable Breakpad exception handler.
- if (mExceptionHandler != 0)
- {
- delete mExceptionHandler;
- mExceptionHandler = 0;
- }
-
sDisableCrashlogger = TRUE;
}
@@ -1098,129 +984,3 @@ bool unix_post_minidump_callback(const char *dump_dir,
}
#endif // !WINDOWS
-#ifdef LL_WINDOWS
-
-// Helper function to convert a wchar_t string into an UTF8 buffer
-namespace nd
-{
- namespace strings
- {
- inline bool convertString( wchar_t const *aIn, char *&aOut, S32 &aLen )
- {
- char tmpBuffer[8];
- S32 i(0), j(0);
-
- while( *aIn )
- {
- i = wchar_to_utf8chars( *aIn++, tmpBuffer );
-
- if( i < aLen )
- {
- j = 0;
- while( j < i )
- {
- *aOut++ = tmpBuffer[ j++ ];
- --aLen;
- }
- }
- else
- return true;
- }
-
- return false;
- }
- }
-}
-
-//
-
-bool windows_post_minidump_callback(const wchar_t* dump_path,
- const wchar_t* minidump_id,
- void* context,
- EXCEPTION_POINTERS* exinfo,
- MDRawAssertionInfo* assertion,
- bool succeeded)
-{
- // Convert all path to UTF8 and not MBCS. Having some path in MBCS and some in UTF8 is a source of great joy
- // and bugs. Stick with one standard, that is UTF8.
-
- // 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);
- // }
-
- char *pOut( LLApp::instance()->getMiniDumpFilename() );
- bool hasOverflow( false );
- S32 bufferLength( LLApp::MAX_MINDUMP_PATH_LENGTH );
-
- hasOverflow = nd::strings::convertString( dump_path, pOut, bufferLength );
- if( !hasOverflow && bufferLength < LLApp::MAX_MINDUMP_PATH_LENGTH && bufferLength > 1 && pOut[-1] != '\\' && pOut[-1] != '/' )
- {
- *pOut++ = '\\';
- --bufferLength;
- }
-
- if( !hasOverflow )
- hasOverflow = nd::strings::convertString( minidump_id, pOut, bufferLength );
-
- if( !hasOverflow && bufferLength >= 5 )
- {
- pOut[0] = '.';
- pOut[1] = 'd';
- pOut[2] = 'm';
- pOut[3] = 'p';
- pOut[4] = 0;
- }
- else if( hasOverflow )
- LLApp::instance()->getMiniDumpFilename()[ 0 ] = 0;
-
- //
-
- 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 245c73e3a2..e590e5eafd 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.
@@ -312,9 +307,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 1debab9e6e..851996588e 100644
--- a/indra/llcorehttp/CMakeLists.txt
+++ b/indra/llcorehttp/CMakeLists.txt
@@ -180,7 +180,6 @@ if (DARWIN)
set(copy_dylibs
libapr-1.0.dylib
libaprutil-1.0.dylib
- libexception_handler.dylib
libnghttp2*.dylib
${EXPAT_COPY}
)
diff --git a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
index f7d35b33c2..5d4a488e64 100644
--- a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
+++ b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp
@@ -34,6 +34,11 @@
#include "llpluginmessageclasses.h"
#include "media_plugin_base.h"
+#if defined(_MSC_VER)
+#include
+typedef SSIZE_T ssize_t;
+#endif
+
#include "vlc/vlc.h"
#include "vlc/libvlc_version.h"
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 49bbd8520d..e2568e5d5b 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -2269,7 +2269,6 @@ if (WINDOWS)
media_plugin_cef
media_plugin_libvlc
#media_plugin_example # Don't package example plugin
- windows-crash-logger
)
# Only copy OpenJPEG dll if needed
@@ -2347,7 +2346,6 @@ if (WINDOWS)
add_dependencies(${VIEWER_BINARY_NAME}
SLPlugin
- windows-crash-logger
)
# sets the 'working directory' for debugging from visual studio.
@@ -2748,63 +2746,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 BUGSPLAT_DB)
- # 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 mac-crash-logger")
- 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-firestorm-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_breakpad_symbols DEPENDS "${VIEWER_SYMBOL_FILE}" "${VIEWER_BINARY_NAME}" "${VIEWER_COPY_MANIFEST}")
- add_custom_target(generate_symbols DEPENDS "${VIEWER_SYMBOL_FILE}")
- add_dependencies(generate_symbols ${VIEWER_BINARY_NAME})
- if (WINDOWS OR LINUX)
- add_dependencies(generate_symbols "${VIEWER_COPY_MANIFEST}")
- endif (WINDOWS OR LINUX)
-
- else (NOT BUGSPLAT_DB)
+ if (BUGSPLAT_DB)
# BugSplat symbol-file generation
if (WINDOWS)
# Just pack up a tarball containing only the .pdb file for the
@@ -2888,7 +2830,7 @@ if (PACKAGE AND (RELEASE_CRASH_REPORTING OR NON_RELEASE_CRASH_REPORTING) AND VIE
if (LINUX)
# TBD
endif (LINUX)
- endif (NOT BUGSPLAT_DB)
+ endif (BUGSPLAT_DB)
# for both BUGSPLAT_DB 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 67ebdb43e2..7fdcdfaad3 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -816,7 +816,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 7dd0d043c3..7c16cad534 100644
--- a/indra/newview/llappviewer.h
+++ b/indra/newview/llappviewer.h
@@ -110,7 +110,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/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp
index 818e09999f..44695ba110 100644
--- a/indra/newview/llappviewerwin32.cpp
+++ b/indra/newview/llappviewerwin32.cpp
@@ -778,9 +778,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")
// Pre BugSplat dance, make sure settings are valid, query crash behavior and then set up Bugsplat accordingly"
@@ -1044,57 +1041,6 @@ bool LLAppViewerWin32::restoreErrorTrap()
//return LLWinDebug::checkExceptionHandler();
}
-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 9f0b6aaf95..7818f8ebef 100644
--- a/indra/newview/llappviewerwin32.h
+++ b/indra/newview/llappviewerwin32.h
@@ -51,7 +51,6 @@ protected:
virtual bool beingDebugged();
virtual bool restoreErrorTrap();
- virtual void initCrashReporting(bool reportFreeze);
virtual bool sendURLToOtherInstance(const std::string& url);
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index e9fd0e3d35..623f28716e 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -778,11 +778,6 @@ class WindowsManifest(ViewerManifest):
self.path("libvlccore.dll")
self.path("plugins/")
- # pull in the crash logger from other projects
- # tag:"crash-logger" here as a cue to the exporter
- self.path(src='../win_crash_logger/%s/windows-crash-logger.exe' % self.args['configuration'],
- dst="win_crash_logger.exe")
-
if not self.is_packaging_viewer():
self.package_file = "copied_deps"
@@ -1432,7 +1427,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
diff --git a/indra/win_crash_logger/CMakeLists.txt b/indra/win_crash_logger/CMakeLists.txt
deleted file mode 100644
index 5a7dea948a..0000000000
--- a/indra/win_crash_logger/CMakeLists.txt
+++ /dev/null
@@ -1,111 +0,0 @@
-# -*- cmake -*-
-
-project(win_crash_logger)
-
-include(00-Common)
-include(LLCommon)
-include(LLCoreHttp)
-include(LLCrashLogger)
-include(LLMath)
-include(LLMessage)
-include(LLFileSystem)
-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}
- ${LLFILESYSTEM_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
- llcrashlookupwindows.cpp
- )
-
-set(win_crash_logger_HEADER_FILES
- CMakeLists.txt
-
- llcrashloggerwindows.h
- llcrashlookupwindows.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
- firestorm_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 correct manifest via CMake
-list(APPEND win_crash_logger_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../tools/manifests/compatibility.manifest)
-
-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}
- ${LLFILESYSTEM_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
- dbgeng
- )
-
-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 566346dfe3..0000000000
Binary files a/indra/win_crash_logger/ll_icon.ico and /dev/null differ
diff --git a/indra/win_crash_logger/llcrashloggerwindows.cpp b/indra/win_crash_logger/llcrashloggerwindows.cpp
deleted file mode 100644
index 01763e7e05..0000000000
--- a/indra/win_crash_logger/llcrashloggerwindows.cpp
+++ /dev/null
@@ -1,580 +0,0 @@
-/**
-* @file llcrashloggerwindows.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 "resource.h"
-#include "llcrashloggerwindows.h"
-// [SL:KB] - Patch: Viewer-CrashLookup | Checked: 2011-03-24 (Catznip-2.6.0a) | Added: Catznip-2.6.0a
-#include "llcrashlookupwindows.h"
-// [/SL:KB]
-
-#include
-
-#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;
- }
-
- // Restore crash report user settings
- // See if "do this next time" is checked and save state
- S32 crash_behavior = CRASH_BEHAVIOR_ASK;
- LRESULT result = SendDlgItemMessage(gHwndReport, IDC_CHECK_AUTO, BM_GETCHECK, 0, 0);
- if (result == BST_CHECKED)
- {
- if (button_id == IDOK)
- {
- crash_behavior = CRASH_BEHAVIOR_ALWAYS_SEND;
- }
- else if (button_id == IDCANCEL)
- {
- crash_behavior = CRASH_BEHAVIOR_NEVER_SEND;
- }
- ((LLCrashLoggerWindows*)LLCrashLogger::instance())->saveCrashBehaviorSetting(crash_behavior);
- }
- //
-
- // 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;
- }
-// [SL:KB] - Patch: Viewer-CrashLookup | Checked: 2011-03-24 (Catznip-2.6.0a) | Added: Catznip-2.6.0a
-#ifdef LL_SEND_CRASH_REPORTS
- mCrashLookup = new LLCrashLookupWindows();
-#endif // LL_SEND_CRASH_REPORTS
-// [/SL:KB]
-
- mMinidumpWritten = false; // Flag if we crashed (wrote a minidump) or not.
-}
-
-LLCrashLoggerWindows::~LLCrashLoggerWindows(void)
-{
- sInstance = NULL;
- delete mCrashLookup;
-// [/SL:KB]
-}
-
-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();
-
- // Correct logfile for FS
-
- // std::string per_run_file = per_run_dir + "\\SecondLife.log";
- // std::string log_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"SecondLife.log");
- std::string per_run_file = per_run_dir + "\\Firestorm.log";
- std::string log_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"Firestorm.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;
- }
-
-
- self->mMinidumpWritten = true; // We crashed, need to send those crashlogs.
-
- //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()
-{
- // Only show crashlogger if we really crashed.
- if( !mMinidumpWritten )
- return true;
- //
-
- 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::isQuitting() && 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 6bf046d53f..0000000000
--- a/indra/win_crash_logger/llcrashloggerwindows.h
+++ /dev/null
@@ -1,87 +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;
-
- bool mMinidumpWritten; // Flag if we crashed (wrote a minidump) or not.
-};
-
-#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 386883523b..0000000000
Binary files a/indra/win_crash_logger/win_crash_logger.ico and /dev/null differ
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 cf76fafe98..0000000000
--- a/indra/win_crash_logger/win_crash_logger.rc
+++ /dev/null
@@ -1,189 +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 "firestorm_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 configuration and operating system which is used only for debugging purposes.\r\nSecondLife logs are not collected.",IDC_STATIC_WHATINFO,4,23,288,29,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,54,288,8
- CONTROL "This report will be sent to firestormviewer.org, not Linden Lab.\r\nPlease review the privacy policy at http://www.firestormviewer.org/privacy-policy for more information.",IDC_STATIC,
- "Static",SS_LEFTNOWORDWRAP | WS_GROUP,4,68,288,17
-END
-
-IDD_PREVREPORTBOX DIALOGEX 100, 100, 232, 221
-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,201,45,15,WS_GROUP
- EDITTEXT IDC_EDIT1,3,108,223,89,ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL
- PUSHBUTTON "Don't Send",IDCANCEL,181,201,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 and operating system which is used only",IDC_STATIC_MSG,4,25,212,8
- LTEXT "for debugging purposes. SecondLife logs are not collected.",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 a crash report, press Don't Send.",IDC_STATIC,3,98,223,8
- LTEXT "This report will be sent to phoenixviewer.com, not Linden Lab. Review",IDC_STATIC,3,68,224,8
- LTEXT "our privacy policy at http://www.firestormviewer.org/privacy-policy",IDC_STATIC,3,76,226,8
- LTEXT "for more information.",IDC_STATIC,3,84,226,8
- CONTROL "Remember this choice",IDC_CHECK_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3,201,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
-