Commit Graph

110 Commits (c513ebb777b5345416683404454125cd94de838c)

Author SHA1 Message Date
Ansariel 3f1373de4c Merge branch 'release/2025.03' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llkdu/llimagej2ckdu.cpp
#	indra/llwindow/llwindowwin32.cpp
#	indra/newview/lleventpoll.cpp
#	indra/newview/llvoavatar.h
#	indra/newview/llvoavatarself.h
2025-04-10 18:28:30 +02:00
Andrey Kleshchev 75bf8577a1 #3884 Crash in kdu_core::kdu_params::get 2025-04-07 21:13:48 +03: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
Ansariel 0ecfbc3de9 Merge remote-tracking branch 'LGPL/master'
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llappearance/llwearable.cpp
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llmessage/tests/llmockhttpclient.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.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/llgroupactions.cpp
#	indra/newview/llimpanel.cpp
#	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/llpaneleditwearable.cpp
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	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/llviewermenu.cpp
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
2024-05-16 14:10:55 +02:00
Ansariel 5f1a19af72 Merge remote-tracking branch 'LL/marchcat/x-ws-merge'
# Conflicts:
#	autobuild.xml
#	indra/linux_crash_logger/llcrashloggerlinux.cpp
#	indra/newview/llappviewerlinux_api.h
#	indra/newview/llappviewerlinux_api_dbus.cpp
#	indra/newview/llappviewerlinux_api_dbus.h
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llcallbacklist.cpp
#	indra/newview/llimpanel.h
2024-05-01 12:30:57 +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 a831237e29 Merge branch 'DRTVWR-600-maint-A' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llimage/llimage.cpp
#	indra/llimage/llimage.h
#	indra/llkdu/llimagej2ckdu.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llfloaterpreference.h
#	scripts/messages/message_template.msg.sha1
2024-02-06 17:58:20 +01:00
Alexander Gavriliuk 74c8b028d4 SL-20743 Use LLMutex in LLImageBase for internal data thread-safety 2023-12-21 19:12:52 +01:00
Andrey Lihatskiy 3954e5d802 DRTVWR-600 macos buildfix 2023-12-15 10:18:32 +02:00
Alexander Gavriliuk 7f9438ed2b SL-3508 Crash in LLKDUDecodeState::processTileDecode 2023-12-15 07:45:05 +01:00
Ansariel c5d9c3c2a7 Merge branch 'DRTVWR-563' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/cmake/Tracy.cmake
#	indra/llcommon/llprofiler.h
#	indra/llcommon/llqueuedthread.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimagej2coj/llimagej2coj.cpp
#	indra/llkdu/llimagej2ckdu.cpp
#	indra/llrender/llimagegl.cpp
#	indra/llrender/llimagegl.h
#	indra/llwindow/llwindowwin32.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/featuretable_mac.txt
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lltexturefetch.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llviewertexture.h
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llviewertexturelist.h
#	indra/newview/llviewerwindow.cpp
#	indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
#	indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml
2022-06-03 15:07:06 +02:00
Dave Parks b6841d75c2 SL-17219 WIP - Texture pipeline overhaul 2022-04-15 19:02:07 -05:00
Ansariel 0a0e2fe93e Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2022-01-15 02:39:07 +01:00
Beq 0911cae538 Initial merge of DRTVWR-541 into FS
Fixup a few niggly mistakes from the LL work
Add a couple of missing macros
replace all FS tracy macros with the corresponding LL ones.
2021-10-09 20:18:14 +01:00
Nicky b2569a06e6 Windows; Update KDU to 8.2 2021-08-23 17:55:59 +02:00
Beq 20cd749175 Instrument threaded texture decode
includes fix for timeout in slow decoded bakes
2021-05-28 02:22:53 +01:00
Nicky b25a3e5448 Correct KDU version check. 2021-03-28 14:09:39 +02:00
Ansariel 7e97addca3 Fix KDU image encoding for KDU >= 8.0.4 2020-07-28 18:35:38 +02:00
Nat Goodspeed d6baa7a853 DRTVWR-494: Put streaming operator<<() for kdu_dims in kdu_core.
It seems the lookup now requires that the operator<<() function be defined in
the same namespace as the argument.
2020-03-25 15:28:17 -04:00
Nicky Dasmijn a135b5b428 Merge remote-tracking branch 'origin/ll-vs2017' into fs-vs2017 2019-12-21 13:14:51 +01:00
Nicky 5469b246d2 Compile time compatibility for KDU 8 2019-12-09 22:06:14 +01:00
Nat Goodspeed 65e00abe6f DRTVWR-494: Put streaming operator<<() for kdu_dims in kdu_core.
It seems the lookup now requires that the operator<<() function be defined in
the same namespace as the argument.
2019-12-06 16:02:28 -05:00
Nicky 127809e241 Merge with viewer64. 2017-04-10 15:15:11 +02:00
Nat Goodspeed 1771857e6c Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2017-03-06 14:27:29 -05:00
Rider Linden 25cd2ed205 Merge 2017-01-25 11:13:59 -08:00
Nicky 2290d5ed16 Merge with viewer64, first pass. 2017-01-10 19:33:15 +01:00
Callum Prentice 7b2cf53f78 Pull in new version of KDU third party package that is build (correctly) as a static library vs. a stub library/DLL 2016-11-30 12:21:05 -08:00
Nat Goodspeed 0413e40d82 DRTVWR-418: Update KDU and llimagej2ckdu* with certain clang fixes. 2016-11-03 20:48:41 -04:00
Nat Goodspeed 6cc4a8dcd2 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-11-03 09:31:15 -04:00
Nicky d7a0835432 Merge. 2016-09-26 21:12:34 +02:00
Rider Linden 8d86f5a0c4 Merge 2016-09-16 16:00:07 -07:00
Rider Linden 51236b7c9c Merge 2016-09-14 09:55:18 -07:00
Nat Goodspeed c7cb6636c4 MAINT-6584, MAINT-5011: Change new 'throw' to LLTHROW()
to be consistent with new exception conventions.
2016-09-07 10:57:07 -04:00
Nat Goodspeed dd1a0218b1 Automated merge with ssh://bitbucket.org/lindenlab/viewer-vlc 2016-09-07 10:46:28 -04:00
Ansariel c2b88ca860 Build fix for KDU 7.5+ 2016-08-29 21:30:03 +02:00
Ansariel 66aba60ce0 Build fix - now idea how this actually works at all for LL... 2016-08-29 13:01:43 +02:00
Ansariel 09b9913d35 Merge viewer-vob 2016-08-29 11:40:53 +02:00
Nat Goodspeed 0eac1f41f6 MAINT-5011: Catch kdu_exception (aka int) in case it leaks out.
KDU internally throws kdu_exception, which is a typedef for int. It's possible
that such an exception might leak out.

Our usual strategy for unknown exceptions is to catch (...) and let
boost::current_exception_diagnostic_information() handle them. However, for
int (or a class not derived from std::exception), that function will only
shrug and report no information available.

Besides, we want to format kdu_exception specially anyway. First, the KDU
#defines are in hex, so we should report the value in hex. But on inspection,
certain of those hex values are actually multibyte ASCII literals in disguise
-- so also report the byte string value.
2016-08-17 16:42:10 -04:00
Nat Goodspeed 83eb960063 MAINT-5011: Derive image-load exceptions from LLContinueError.
Failure to load an image shouldn't crash the whole viewer.
2016-08-17 15:47:08 -04:00
Nat Goodspeed 993f54f6e9 MAINT-5011: Try to enrich catch (...) logging throughout viewer.
Turns out we have a surprising number of catch (...) clauses in the viewer
code base. If all we currently do is

    LL_ERRS() << "unknown exception" << LL_ENDL;

then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is

    LL_WARNS() << "unknown exception" << LL_ENDL;

then call LOG_UNHANDLED_EXCEPTION() instead.

Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches
LLContinueError yet, eliminate LLContinueError& parameter from
LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as
CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level.

Where a catch (...) clause actually provides contextual information, or makes
an error string, add boost::current_exception_diagnostic_information() to try
to figure out actual exception class and message.
2016-08-17 15:40:03 -04:00
Nat Goodspeed db4f13e7bc MAINT-5011: Clean up indentation from merge of viewer-release. 2016-08-17 11:48:33 -04:00
Nat Goodspeed e72bdc9bc5 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-17 11:41:12 -04:00
Nat Goodspeed 5e9d2f57c8 MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION().
A level of preprocessor indirection lets us later change the implementation if
desired.
2016-08-17 11:36:24 -04:00
Ansariel cb89140d29 Merge LL release 4.0.7 2016-08-11 23:42:52 +02:00
Nat Goodspeed 1773f44b6d MAINT-6584: Don't crash on inconsistent dims in a JPEG-2000 image.
Previous code would crump with LL_ERRS. But a bad image file should fail only
the image load -- not crash the viewer.

While at it, validate all components present, not just 0, 1, 2.

While at it, make the failure message report which component and what the
mismatched dimensions are, not just "Components don't have matching
dimensions!"
2016-08-06 11:39:11 -04:00
Nat Goodspeed 80adc9b6aa MAINT-6584: Introduce KDUError exception from other viewer project.
Specifically, manually apply changesets b4db8a8 and b98371d from
nat_linden/viewer-mac-mainloop. We need to throw from a new place, but if we
threw const char* (current convention), the new throw wouldn't be patched when
we merge to new exception convention.
2016-08-05 17:57:24 -04:00
Nat Goodspeed a5ce63eb3c MAINT-6584: Add explanatory comments to LLImageJ2CKDU implementation.
These comments are inherently fragile, in that they enumerate all present
callers of certain methods. Adding, removing or relocating calls would
invalidate these comments. However, the LLImageJ2CKDU implementation is
probably pretty stable by now.
2016-08-05 17:44:13 -04:00
Nat Goodspeed 65d608cdac MAINT-6584: Clarify LLKDUMessageError::flush() throwing exception. 2016-08-05 14:02:12 -04:00
Nat Goodspeed 2ce38c3c98 MAINT-6584: Comment out completely unused LLImageJ2CKDU code.
The only call to the findDiscardLevelsBoundaries() method was commented out
inside initDecode(), with a comment:
        // Merov : Test!! DO NOT COMMIT!!

This was the only caller of copy_tile(), which was the only caller of
copy_block(). Commented out all three of these (biggish!) functions, since I
have no idea what any of them were supposed to do or when it might be useful
to call them. In other words, I can't yet rule out the possibility that I
might have to uncomment them.
2016-08-04 16:20:39 -04:00