Commit Graph

101 Commits (master)

Author SHA1 Message Date
Jonathan "Geenz" Goodman e0d14e02e1 Merge branch 'release/2025.03' into rye/forevermac 2025-03-11 22:44:49 -04:00
Andrey Kleshchev c98002daa6 #3643 Use bugsplat attributes on MacOS 2025-03-04 17:23:05 +02:00
Rye 6fcd349f37 Fix Tracy memory profiling overloads for aligned allocations
Fix disabling renderdoc support
Improve ll_aligned_alloc functions on darwin for 32 and 64byte aligned by utilizing posix_memalign
2025-02-11 05:04:05 -05: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
Andrey Kleshchev fee2dc981c NSException test 2024-01-22 18:47:43 +02:00
Lars Næsbye Christensen da967da9c7 Rename OS X to macOS, mostly in comments
We only support 10.13+ now, and it's been called macOS since 10.12. References in code to older versions are unchanged.
2024-01-11 19:11:33 +02:00
Nat Goodspeed 27ee831e38 SL-19744: Remove LLErrorThread and LLAppViewer::handleViewerCrash() 2023-05-23 04:28:58 +03:00
Andrey Lihatskiy fb170ffe21 Merge branch 'master' into DRTVWR-545-maint-mix 2021-10-14 00:35:08 +03: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
Andrey Lihatskiy 6c8e6f033b Merge branch 'master' into DRTVWR-521-maint
# Conflicts:
#	autobuild.xml
#	indra/llcommon/llerror.cpp
#	indra/llui/llnotifications.h
#	indra/newview/llappviewer.cpp
#	indra/newview/llappviewermacosx.cpp
2021-07-20 02:48:05 +03:00
Mnikolenko Productengine 74711a2cf2 SL-15196 Attach correct log file to Bugsplat report 2021-05-26 14:57:31 +03:00
Nat Goodspeed fd1545197a SL-10297: Merge branch 'sl-10297-oz' into sl-10297.
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few
other miscellaneous goodies.
2021-05-12 13:56:19 -04:00
Mnikolenko ProductEngine 430661f135 SL-15170 remove mac_crash_logger 2021-04-26 20:31:32 +03:00
Mnikolenko ProductEngine ae11dfe1a3 build fix 2021-04-23 15:08:50 +03:00
Mnikolenko Productengine 672fa8002d SL-1431 settings_per_account.xml file should be attached to crashreport 2020-03-24 19:25:48 +02:00
Oz Linden 5056ba6daa remove unused exception handler 2019-12-16 17:09:42 -05:00
Oz Linden 675842a2d4 clarify crash logger at startup 2019-12-13 12:20:50 -05:00
Oz Linden 1082a886ce tag initialization and bugsplat related logging 2019-10-08 10:15:47 -04:00
Oz Linden a45ca18ff8 when using bugsplat, do not catch SIGABRT; also, fix signal setting in Mac (broken macro) 2019-09-25 12:59:20 -04:00
Oz Linden 4c525832cc remove old crash logger more 2019-06-12 08:49:59 -04:00
Oz Linden e86c0b3d0f fix error message reporting? 2019-03-05 04:44:29 -05:00
AndreyL ProductEngine 36cb6933e6 Merged in lindenlab/viewer-release 2019-03-01 02:24:00 +02:00
Mnikolenko ProductEngine faf79976c0 SL-10094 FIXED Mute sound should ONLY mute the viewer's sounds, not the whole computer's (Mac) sound. 2018-11-20 15:53:43 +02:00
Nat Goodspeed e674f11757 DRTVWR-447: Add (some) metadata to Mac crash reports.
This required reordering certain operations during Mac viewer startup. Split
llappviewermacosx.cpp's initViewer() function into constructViewer() (which
instantiates LLAppViewerMacOSX) and initViewer() (which calls
LLAppViewerMacOSX::init()).

llappdelegate-objc.mm's applicationDidFinishLaunching override now calls
[BugsplatStartupManager start] between constructViewer() and initViewer(): we
want constructViewer() to have set up the logging subsystem so we can log the
actions of BugsplatStartupManagerDelegate override methods, but otherwise we
want BugsplatStartupManager in place as early as possible to catch any early
crashes. Besides, initViewer() ends up overwriting the static_debug_info.log
on which we depend for the *previous* run's crash metadata.

Move the code that initializes the pathname of the static_debug_info.log file
from LLAppViewerMacOSX::init() to the LLAppViewerMacOSX() constructor, since
BugsplatStartupManagerDelegate override methods need to read (the previous
run's) file.

Add code to applicationLogForBugsplatStartupManager override to set new
BugsplatMac 1.0.6 properties userName and userEmail.

Don't log empty fields from static_debug_info.log if we couldn't read it.
2018-08-23 12:31:54 -04:00
Nat Goodspeed 8d4e6b6df0 DRTVWR-447: Additional logging getting metadata for previous run 2018-08-22 16:16:26 -04:00
Nat Goodspeed 7dc014474d DRTVWR-447: Attempt to post BugSplat metadata with Mac crash reports.
Introduce CrashMetadata, an LLSingleton in llappviewermacosx.cpp, declared in
llappviewermacosx-for-objc.h and accessed by the various
BugsplatStartupManagerDelegate override methods. CrashMetadata is populated by
reading the previous (presumably crashed) run's static_debug_info.log file.

This replaces the previous getOldLogFilePathname(), getFatalMessage() and
getAgentFullname() functions. To extend that suite for additional metadata,
not only would we have to keep adding new free functions, but we'd have to
keep rereading the static_debug_info.log file.

Override the new applicationKeyForBugsplatStartupManager,
defaultUserNameForBugsplatStartupManager,
defaultUserEmailForBugsplatStartupManager methods to extract relevant fields
from CrashMetadata. Change applicationLogForBugsplatStartupManager and
attachmentForBugsplatStartupManager to do the same.

Enhance llviewerregion.cpp to update the static_debug_info.log file every
time we enter a new region.
2018-08-22 10:48:29 -04:00
Nat Goodspeed cd52724ef8 DRTVWR-447: Suppress BugSplat UI; auto-fill certain BugSplat data.
Direct BugSplat to send crash reports without prompting, on both Windows and
Mac.

Add a mechanism by which code called after LL_ERRS() can retrieve the fatal
log message string. (How did the crash logger extract that for Linden crash
logging?)

Add that fatal message to crash reports on Windows. But as BugsplatMac is
engaged only on the run _after_ the crash, we no longer have that message in
memory.

Also add user name and region location to Windows crash reports. On Mac, (a)
we don't have the information from the previous run and (b) BugsplatMac
doesn't provide an API to attach that information to the crash report.

Add Mac logging to indicate the success or failure of sending the crash
report. Add Windows logging to indicate we're about to send.
2018-06-28 21:49:07 -04:00
Nat Goodspeed d26c931ae2 SL-821: Send the SecondLife.log from the previous (crashed) run.
Also clean up log messages.
2018-06-19 15:08:56 -04:00
Nat Goodspeed 6e790fc27d SL-821: Add logging in the macOS BugSplat attachment override. 2018-06-18 16:38:49 -04:00
Nat Goodspeed 448e82f39c SL-821: Try to add SecondLife.log file to Mac BugSplat crash report.
Introduce new header file llappviewermacosx-for-objc.h to publish for
llappdelegate-objc.mm and other Objective-C++ consumers the free functions in
llappviewermacosx.cpp they consume. These were never before declared in any
header file. Apparently, to date, we've been trusting to luck that
Objective-C++ will infer the correct signature from calls -- and that the
calls are correct with respect to the function definitions.  :-P

This gives us a place to introduce a new getLogFilePathname() function to
query LLDir. (We don't simply #include "lldir.h" because of the pervasive use
of BOOL in viewer headers; BOOL means something very different in Objective-C++.)
2018-06-15 16:48:20 -04:00
Nat Goodspeed ae0b3149ba DRTVWR-418: Fix a round of compile errors surfaced by -std=c++11.
These are mostly things that were in fact erroneous, but accepted by older
compilers.

This changeset has not yet been built with Visual Studio 2013 or Linux gcc,
even with -std=c++11.

This changeset has not been built *without* -std=c++11. It should be used in
conjunction with a corresponding change to LL_BUILD_DARWIN_BASE_SWITCHES in
viewer-build-variables/variables.

This is a work in progress. We do not assert that this changeset completes the
work needed to turn on -std=c++11, even on the Mac.
2017-02-23 16:49:49 -05:00
Nat Goodspeed 555259e50f DRTVWR-418: Avoid casting sa_sigaction to unsigned int for comparing.
It's not really clear to me why the original coder felt it necessary to cast
the two sigaction::sa_sigaction fields to unsigned int in the first place, but
in a 64-bit clang compile, that discards information.
2016-12-19 22:51:40 -05: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 ed38b5c923 merge changes for MAINT-5974 2016-04-08 11:32:48 -04:00
Glenn Glazer aca314de1f maint-5974/maint-5422: viewer changes for new crash reporting 2016-02-25 10:34:18 -08:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Glenn Glazer b09f0a120e maint-5422 changes and merge from release 2015-09-16 14:21:03 -07:00
pavelk_productengine e92e72ff3a MAINT-5106 FIXED [MAC] if SL viewer is not running, clicking on SLURL launches viewer, BUT start location is not set 2015-04-24 23:24:44 +03:00
callum_linden 327a99a8a8 Update to build on Xcode 6.0: more removal of unused variables and functions 2014-10-18 11:25:07 -07:00
Richard Linden 98aabdc176 merge with release 2014-04-07 19:09:40 -07:00
Aura Linden 6809348125 Creating a cleaner branch 2013-12-03 17:06:06 -08:00
Richard Linden 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07:00
Graham Madarasz (Graham Linden) 4bc9393240 MAINT-3155 add cocoa equiv for former AppleEventManager shenanigans for SLURL handling 2013-09-26 18:53:12 -07:00
Richard Linden 52da9f5f49 merge with viewer-release 2013-09-09 18:58:41 -07:00
Oz Linden a359d9d80c merge changes for 3.6.4-release 2013-08-27 10:37:02 -04:00
Richard Linden d83c51a4e1 BUILDFIX: converted platform-specific files over to new LL_INFOS, etc macros 2013-08-14 21:58:30 -07:00
Nat Goodspeed b0d7619f20 CHOP-957: Stop looking for, or parsing, Mac arguments.txt file. 2013-06-25 17:33:36 -04:00