<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llappearance/llpolymesh.cpp, branch 26.4</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=26.4</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=26.4'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2026-08-12T01:39:19Z</updated>
<entry>
<title>Merge remote-tracking branch 'origin/develop-linux' into geenz/linux-to-develop</title>
<updated>2026-08-12T01:39:19Z</updated>
<author>
<name>Jonathan "Geenz" Goodman</name>
<email>geenz@geenzo.com</email>
</author>
<published>2026-08-12T01:39:19Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=8cabc33e960ca93fdc1a32c77cf611269d95d51b'/>
<id>urn:sha1:8cabc33e960ca93fdc1a32c77cf611269d95d51b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>#6014 More tracy coverage</title>
<updated>2026-07-20T17:32:48Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>117672381+akleshchev@users.noreply.github.com</email>
</author>
<published>2026-07-20T16:21:50Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=5986568a23836f9ce448a1912406eaedd3794175'/>
<id>urn:sha1:5986568a23836f9ce448a1912406eaedd3794175</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Address feedback from copilot</title>
<updated>2026-01-07T00:15:43Z</updated>
<author>
<name>Rye</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2026-01-05T20:01:23Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9873abfb94f0d9cbc6df60fef9df622ef51355ec'/>
<id>urn:sha1:9873abfb94f0d9cbc6df60fef9df622ef51355ec</id>
<content type='text'>
Signed-off-by: Rye &lt;rye@alchemyviewer.org&gt;
</content>
</entry>
<entry>
<title>Clean up LLFile and LLFilesystem operations to reduce temporaries allocations and utf8-&gt;utf16 conversions</title>
<updated>2026-01-07T00:15:43Z</updated>
<author>
<name>Rye</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2025-12-30T16:39:16Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=25dc8660efedecfd9f021142ac1e4ff3639e80d4'/>
<id>urn:sha1:25dc8660efedecfd9f021142ac1e4ff3639e80d4</id>
<content type='text'>
Fix LLFile::tmpdir failing when temp directory is located in a unicode path on windows
Add Tracy profiler tagging to LLFile that's disabled by default
Replace LLFile::utf8StringToWstring with our fsyspath std::filesystem::path adapter
Introduce std::filesystem::path to llifstream/llofstream wrappers
Add move operators to fsyspath to match copy operator
Restore LLUniqueFile RAII class for direct c file io wrapping and reducing merge conflicts with downstream code that may depend upon it

Signed-off-by: Rye &lt;rye@alchemyviewer.org&gt;
</content>
</entry>
<entry>
<title>#4861 Crash at LLVolumeFace::createOctree</title>
<updated>2025-10-20T17:12:14Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>117672381+akleshchev@users.noreply.github.com</email>
</author>
<published>2025-10-20T16:57:25Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=03690724188cb3fef1c2efed0f5626c93096ec2d'/>
<id>urn:sha1:03690724188cb3fef1c2efed0f5626c93096ec2d</id>
<content type='text'>
Looks like LLRiggedVolume::update goes out of bounds when selecting a face
</content>
</entry>
<entry>
<title>Fix indentations to make pre-commit happy</title>
<updated>2025-03-11T03:38:26Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2025-03-11T03:38:26Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=f02a400134d83a12f43151c3dba32732bf88fd8c'/>
<id>urn:sha1:f02a400134d83a12f43151c3dba32732bf88fd8c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix ASAN errors from LLVector4a::memcpyNonAliased16</title>
<updated>2025-03-11T01:21:43Z</updated>
<author>
<name>Nicky</name>
<email>nicky.dasmijn@posteo.nl</email>
</author>
<published>2024-04-10T19:02:40Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=f7e7903105f7df053bf259542553cefc6a9a6b27'/>
<id>urn:sha1:f7e7903105f7df053bf259542553cefc6a9a6b27</id>
<content type='text'>
Found by running with -fsanitze=thread
Suggestion to avoid accessing invalid memory:

In both cases memory will be allocated by can be accessed beyond bounds.

In LLPolyMesh it can be off by at least one (+x%2). Though I am not even sure if even in best case it always will be a multiple of 16.

In LLViewerJointMesh::updateFaceData the code tries to account for padding by, but the allocation in LLPolyMeshSharedData::allocateVertexData is done without any padding. Thus the sizes must not match.

Replacing the calls with memcpy as a quick fix to see if the error goes away fixed address sanitzer complaining.

It is up to debate if memcpy is a good replacement. LLVector4a::memcpyNonAliased16 was invented for performance. But on the other hand one could argue that nowadays every stdlib maintainer will very heavily optmize functions like memcpy themselves and could take advantage of CPU features the old LL implementation does not take into account.

AVX comes to mind. In any case did I not measure any of this.
</content>
</entry>
<entry>
<title>Re-enable compiler warnings C4018, C4100, C4231 and C4506</title>
<updated>2024-06-10T14:42:43Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-06-10T14:42:43Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=c0fad3028fd55c2067ce6a0ae4382cffe1014284'/>
<id>urn:sha1:c0fad3028fd55c2067ce6a0ae4382cffe1014284</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix line endlings</title>
<updated>2024-05-22T19:40:26Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-05-22T19:25:21Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=e2e37cced861b98de8c1a7c9c0d3a50d2d90e433'/>
<id>urn:sha1:e2e37cced861b98de8c1a7c9c0d3a50d2d90e433</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A</title>
<updated>2024-05-22T17:04:52Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-05-22T17:04:52Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=1b67dd855c41f5a0cda7ec2a68d98071986ca703'/>
<id>urn:sha1:1b67dd855c41f5a0cda7ec2a68d98071986ca703</id>
<content type='text'>
# 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
</content>
</entry>
</feed>
