Commit Graph

60 Commits (d19e6abc5e165691afe43bfa50111dbf60228efe)

Author SHA1 Message Date
Andrey Kleshchev 454d5b4871 #3591 Reprot SEH directly to bugsplat
Rethrowing SEH via std::exception results ina callstack that ends at
rethrow.
2025-02-26 21:50:46 +02:00
Brad Linden c5a2235e7a
Turn off sLogInSignal to avoid crashing. (#2607)
fixes secondlife/viewer#2566
2024-09-18 18:16:24 -07:00
Alexander Gavriliuk ef9a494134 #1500 Better out of disk space handling 2024-07-18 09:42:59 +02:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llaudio/llaudioengine_fmodstudio.cpp
#	indra/llaudio/llaudioengine_fmodstudio.h
#	indra/llaudio/lllistener_fmodstudio.cpp
#	indra/llaudio/lllistener_fmodstudio.h
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/llmessage/tests/llmockhttpclient.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llui/llcombobox.cpp
#	indra/llui/llfolderview.cpp
#	indra/llui/llfolderviewmodel.h
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltextvalidate.cpp
#	indra/llui/lltextvalidate.h
#	indra/llui/lluictrl.h
#	indra/llui/llview.cpp
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappearancemgr.h
#	indra/newview/llavatarpropertiesprocessor.cpp
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llbreadcrumbview.cpp
#	indra/newview/llbreadcrumbview.h
#	indra/newview/llbreastmotion.cpp
#	indra/newview/llbreastmotion.h
#	indra/newview/llconversationmodel.h
#	indra/newview/lldensityctrl.cpp
#	indra/newview/lldensityctrl.h
#	indra/newview/llface.inl
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llfloateremojipicker.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/llfloaterprofiletexture.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgesturemgr.h
#	indra/newview/llimpanel.cpp
#	indra/newview/llimpanel.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryclipboard.cpp
#	indra/newview/llinventoryclipboard.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventoryfunctions.h
#	indra/newview/llinventorygallery.cpp
#	indra/newview/lllistbrowser.cpp
#	indra/newview/lllistbrowser.h
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llsavedsettingsglue.cpp
#	indra/newview/llsavedsettingsglue.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llurllineeditorctrl.cpp
#	indra/newview/llvectorperfoptions.cpp
#	indra/newview/llvectorperfoptions.h
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
#	indra/test/test.cpp
2024-05-22 19:04:52 +02:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Ansariel d0102af56d Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	indra/llcommon/llapp.cpp
#	indra/llcommon/llapp.h
#	indra/llimage/llimageworker.cpp
#	indra/llui/llcontainerview.cpp
#	indra/llui/llcontainerview.h
#	indra/llui/llkeywords.cpp
#	indra/llui/lltabcontainer.cpp
#	indra/llui/lltextbase.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfavoritesbar.h
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llhudnametag.h
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpaneleditwearable.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelvoicedevicesettings.h
#	indra/newview/llpreviewscript.cpp
#	indra/newview/llpreviewscript.h
#	indra/newview/llselectmgr.cpp
#	indra/newview/lltranslate.cpp
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llviewermessage.cpp
2024-04-11 21:59:38 +02:00
Ansariel 364bd17304 Replace remaining BOOL with bool in llcommon and remove dead code 2024-02-09 01:03:06 +02:00
Andrey Kleshchev 858cde02f7 SL-19744 Small cleanup 2023-08-12 00:42:49 +03:00
Nat Goodspeed 863e7f22a7 SL-19744: Remove LLApp::startErrorThread() and references. 2023-05-23 04:28:58 +03:00
Nat Goodspeed 27ee831e38 SL-19744: Remove LLErrorThread and LLAppViewer::handleViewerCrash() 2023-05-23 04:28:58 +03:00
Andrey Kleshchev 935c1362a2 Restored SL-14961
SL-14961 works better for windows than rethrow
2022-02-14 22:59:26 +02:00
Andrey Kleshchev 236593e997 Revert "SL-14961 Coroutine crash was not reported to bugsplat"
Will be replaced with retrow from nat
2022-02-11 20:28:42 +02:00
Callum Linden 3c2ccd879c Merge with master after latest Viewer release 2021-10-13 16:54:08 -07:00
Andrey Lihatskiy 97f09de4fc Merge branch 'master' into DRTVWR-520-apple-notarization
# Conflicts:
#	autobuild.xml
#	build.sh
#	indra/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/llappviewermacosx.cpp
#	indra/newview/llappviewerwin32.h
#	indra/newview/viewer_manifest.py
#	indra/win_crash_logger/llcrashloggerwindows.cpp
2021-08-12 23:13:12 +03:00
Callum Prentice 8631a7a077 Merge with tip of Master after a Viewer release 2021-07-19 14:35:44 -07:00
Nat Goodspeed d313d7021f SL-15200: Add LLApp::sleep(duration) methods.
Two sleep() methods: one accepting F32Milliseconds, or in general any LLUnits
time class; the other accepting any std::chrono::duration.

The significant thing about each of these sleep() methods, as opposed to any
freestanding sleep() function, is that it only sleeps until the app starts
shutdown. Moreover, it returns true if it slept for the whole specified
duration, false if it woke for app shutdown.

This is accomplished by making LLApp::sStatus be an LLScalarCond<EAppStatus>
instead of a plain EAppStatus enum, and by making setStatus() call set_all()
each time the value changes. Then each new sleep() method can call
wait_for_unequal(duration, APP_STATUS_RUNNING).

Introducing llcond.h into llapp.h triggered an #include circularity because
llthread.h #included llapp.h even though it didn't reference anything from it.
Removed. This, in turn, necessitated adding #include "llapp.h" to several .cpp
files that reference LLApp but had been depending on other header files to
drag in llapp.h.
2021-05-17 13:37:13 -04:00
Andrey Kleshchev 6b73a8331f SL-14541 removed breakpad, win_crash_logger, updated zlib 2021-03-17 00:19:38 +02:00
Andrey Kleshchev ed98ebb811 SL-14961 Coroutine crash was not reported to bugsplat 2021-03-13 11:21:01 +02:00
andreykproductengine fa15830e02 SL-10291 Replace apr_atomic with standard C++11 functionality 2019-01-15 18:31:17 +02:00
andreykproductengine 4a4d93d8c0 MAINT-7691 Fixed crash report not generating files in unicode named folders 2017-09-06 16:04:59 +03:00
Nat Goodspeed 464a0df4c1 DRTVWR-418: Unify control flow through LLAppViewer across platforms.
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This
makes sense -- but on Mac that structure was being subverted. The method
called mainLoop() was in fact being called once per frame. There was
initialization code in the method, which (on Mac) needed to be skipped with an
already-initialized bool. There was a 'while' loop which (on Mac) needed to be
turned into an 'if' instead so the method would return after every frame.

Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer
and LLCrashLogger. Document the fact that frame() returns true to mean "done."
(This was always the case, but had to be inferred from the code.)

Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free
function it calls from runMainLoop() to pumpMainLoop(). Add comments to
llappdelegate-objc.mm explaining (inferred) control flow.

Change the Linux viewer main() and the Windows viewer WINMAIN() from a single
LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true.

Move initialization code from the top of LLAppViewer::frame() to the init()
method, where it more properly belongs. Remove corresponding
mMainLoopInitialized flag (and all references) from LLAppViewer.

Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())')
from LLAppViewer::frame() -- thus unindenting the whole body of the 'while'
and causing many lines of apparent change. (Apologies to reviewers.)

There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING,
APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return
value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know
under what circumstances the state might transition to STOPPED during a
frame() call, but I'm quite sure that if it does, we don't want to call
frame() again. We only want a subsequent call if the state is RUNNING.

Also rename mainLoop() method in LLCrashLogger subclasses
LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's
completely up to the frame() method whether to yield control; none of those in
fact do. Honor protocol by returning true (frame() is done), even though each
one's main() caller ignores the return value.

In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol
correctly anyway, returning wParam or 0 or 1 -- possibly because the return
protocol was never explicitly documented. It should always return true: "I'm
done, don't call me again."
2016-06-30 16:51:50 -04:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Xiaohong Bao ae564140c0 Merge 2014-04-22 12:19:28 -06:00
Aura Linden e5dae42252 Fix for MAINT-5707 bad breakpad behavior with teleport links 2014-04-14 15:11:42 -07:00
Richard Linden 98aabdc176 merge with release 2014-04-07 19:09:40 -07:00
Aura Linden efc41f95bb Removed debug line. 2014-01-22 10:23:50 -08:00
Aura Linden d223687fb8 char vs wchar_t FIGHT 2014-01-22 10:21:29 -08:00
Aura Linden ce2cd00cc5 Removed debugging code. 2013-12-04 19:57:11 -08:00
Aura Linden 6809348125 Creating a cleaner branch 2013-12-03 17:06:06 -08:00
Richard Linden a2e22732f1 Summer cleaning - removed a lot of llcommon dependencies to speed up build times
consolidated most indra-specific constants in llcommon under indra_constants.h
fixed issues with operations on mixed unit types (implicit and explicit)
made LL_INFOS() style macros variadic in order to subsume other logging methods
such as ll_infos
added optional tag output to error recorders
2013-07-30 19:13:45 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Graham Madarasz (Graham Linden) 903996e8d4 Google Breakpad Fix 2013-03-28 19:25:51 -07:00
Vadim ProductEngine 5d7417b40e STORM-422 FIXED Added command line option "-disablecrashlogger" to disable crash logger.
This is a patch originally written by Robin Cornelius.
I made it work with Google Breakpad.
2010-11-02 20:26:38 +02:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Lynx Linden 4fb7738027 Write breakpad minidump files to the SL log directory.
Also, clean out old minidump files when we start up.
2010-05-28 15:10:52 +01:00
Lynx Linden 05761d7853 Removed the SyncErrorHandler from llapp and llappviewer*.
This was only used for the Linux client to dump a stack trace to
stack_trace.log, which is no longer needed now that we are using
Google Breakpad.

I also removed all of the stack printing code from llappviewerlinux.cpp.
2010-05-27 15:04:06 +01:00
Lynx Linden a63b6dd93c Hooked up Google Breakpad for the Linux client too.
Using Alain's Darwin reporter callback was all that was needed.

Also replaced the call that exposed the breakpad exception class
with a call to just write out the minidump, as that was the only
reason for exposing it. Now clients don't need to know about
Google Breakpad.
2010-05-26 14:43:27 +01:00
Andrew A. de Laix 5a52c5eb8a Mac crash behavior matches windows and linux: report on crash (not after restart). This is OK because we use Breakpad generated minidumps instead of OS generated ones. 2010-05-25 13:32:12 -07:00
Andrew A. de Laix 1077ab49c1 Just enough hackery to get minidumps into Wind'ohs crash reports. Code clean up needed. 2010-05-24 15:19:33 -07:00
brad kittenbrink ba809777e5 New google breakpad package for windows with winsock2 fix, and DLL CRT library usage.
Also moved headers into libraries/include/google_breakpad.
Mac and linux packages to come shortly.
2010-05-21 14:39:55 -07:00
Andrew A. de Laix 719edddf04 Switch Darwin to use breakpad minidump rather than os generated crash stack. 2010-05-21 09:38:29 -07:00
Loren Shih b1b5a11bb0 EXT-3075 : Remove swear words from comments across viewer
This bugs me in a minor way.  Did a search-and-cleanup on various swear words.
2010-03-29 15:33:48 -04:00
brad kittenbrink 89201ba29a Fix for mac build post-merge. 2009-12-14 16:05:13 -05:00
brad kittenbrink 7c69928ff8 Fixups for things broken after the last merge and for the linux build. 2009-12-07 18:43:47 -08:00
brad kittenbrink 1ea60591a9 Refactoring of llviewerprecompiledheaders.h to hopefully increase stability
and reduce unnecessary dependencies and incredibuild wedging.  Hopefully in
the long run this will reduce build time.  Also cleaned up a lot of header
file usage to conform better to the coding standard.

reviewed by james and steve.
2009-11-13 20:33:59 -05:00
brad kittenbrink bae94e4340 Merged login-api with viewer-2.0.0-3 up through r132290. 2009-09-01 12:21:51 -04:00
Steven Bennetts a1ed9ccf73 Partial merge of: viewer-2.0.0-3@131138 texture-pipeline-3@131862 -> viewer-2.0.0-3
Includes:
* DEV-31909 VWR-13251: Revise lscript_library.cpp to allow localization of LSL editor hovertips
* DEV-21938 llSHA1String does not appear where expected in the dropdown "Insert" menu in the LSL editor
* Some cleanup to llerror so that it doesn't depend on llfixedbuffer
* A few misc. server specific changes not related to the texture-pipeline changes (llapp, lloptioninterface)
2009-08-29 06:23:41 +00:00
palmer@eniac54.lindenlab.com 1af41b3ba7 Fixes to build on linux for DEV-35401.
Moves libllcommon.so to a staging dir for unit tests to work
and gets rid of LL_COMMON_API in forward declarations
2009-07-30 18:52:34 -07:00
Aaron Brashears 6df2755ba6 Result of svn merge -r119432:120464 svn+ssh://svn/svn/linden/branches/http_database/merge-03 into trunk. QAR-1462 2009-05-18 23:38:35 +00:00