<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/llpointer.h, branch cef_147</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=cef_147</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=cef_147'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2026-01-05T17:34:44Z</updated>
<entry>
<title>Remove unused boost::hash specialization from LLPointer and update std::hash specialization to use std::hash internally</title>
<updated>2026-01-05T17:34:44Z</updated>
<author>
<name>Rye</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2026-01-05T16:09:43Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=112f9b9e226049ca1abaecfaa8a6d1b67506e140'/>
<id>urn:sha1:112f9b9e226049ca1abaecfaa8a6d1b67506e140</id>
<content type='text'>
Signed-off-by: Rye &lt;rye@alchemyviewer.org&gt;
</content>
</entry>
<entry>
<title>Migrate ~LLPointer()'s peculiar warning case to llpointer.cpp.</title>
<updated>2026-01-05T17:34:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2024-09-27T09:38:39Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9d684bc9241cca4aae79d93886d0f95dcee26d65'/>
<id>urn:sha1:9d684bc9241cca4aae79d93886d0f95dcee26d65</id>
<content type='text'>
This allows removing #include "llerror.h" from llpointer.h.
Also remove #include "llmutex.h" as a heavy way to get
&lt;boost/functional/hash.hpp&gt;.

That requires adding #include "llmutex.h" to llimage.h, llnotifications.h,
llwatchdog.cpp and llvolumemgr.cpp, which were inheriting it from llpointer.h.
</content>
</entry>
<entry>
<title>Explain why apparently redundant LLPointer methods are necessary.</title>
<updated>2026-01-05T17:34:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2024-09-25T14:15:20Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=bedd3da7c60c1615cd5102438822e8f186d4426a'/>
<id>urn:sha1:bedd3da7c60c1615cd5102438822e8f186d4426a</id>
<content type='text'>
Given templated constructors and assignment operators, it's tempting to remove
specific constructors and assignment operators with the same LLPointer&lt;Type&gt;
parameters. That turns out to be a mistake. Add comments to warn future
maintainers.
</content>
</entry>
<entry>
<title>Use copy-and-swap idiom for LLPointer's assignment operators.</title>
<updated>2026-01-05T17:34:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2024-09-25T13:43:43Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=3fc5b69b2a6c04db9854f0758ecbb03f6da22a13'/>
<id>urn:sha1:3fc5b69b2a6c04db9854f0758ecbb03f6da22a13</id>
<content type='text'>
This affords strong exception safety. Also, eliminating the conditional may
improve speed.
</content>
</entry>
<entry>
<title>LLConstPointer&lt;T&gt; is the same as LLPointer&lt;const T&gt;.</title>
<updated>2026-01-05T17:34:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2024-09-24T17:41:02Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=a3ef0fa3541b799d70b13100b8acb7f57f55313d'/>
<id>urn:sha1:a3ef0fa3541b799d70b13100b8acb7f57f55313d</id>
<content type='text'>
Instead of restating the whole class, requiring changes to be made in parallel
(which has already failed), just make a template alias.
</content>
</entry>
<entry>
<title>Make `LLPointer` equality comparisons accept not-identical types.</title>
<updated>2026-01-05T17:34:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2024-09-24T16:53:33Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=e53f50716254e63bd60f2037190741c9b21e50b3'/>
<id>urn:sha1:e53f50716254e63bd60f2037190741c9b21e50b3</id>
<content type='text'>
That is, both `LLPointer::operator==()` and `operator!=()` and the free function
`operator==()` and `operator!=()` now accept pointer types other than the type
of the subject `LLPointer`, letting the compiler apply implicit pointer
conversions or diagnose an error.
</content>
</entry>
<entry>
<title>Changes towards C++20 compatibility (#2520)</title>
<updated>2024-09-09T10:02:34Z</updated>
<author>
<name>Ansariel Hiller</name>
<email>Ansariel@users.noreply.github.com</email>
</author>
<published>2024-09-09T10:02:34Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=d91d39fa0f7f4f204d6fb7ff66b9817e498dbd61'/>
<id>urn:sha1:d91d39fa0f7f4f204d6fb7ff66b9817e498dbd61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce move assignment and construction to LLPointer</title>
<updated>2024-07-08T15:14:02Z</updated>
<author>
<name>Rye Mutt</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2024-07-05T19:01:06Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=38fdee7673a2067733d69244de54312c3ae200db'/>
<id>urn:sha1:38fdee7673a2067733d69244de54312c3ae200db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>#824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed</title>
<updated>2024-04-29T04:56:09Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-04-29T04:43:28Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=1b68f71348ecf3983b76b40d7940da8377f049b7'/>
<id>urn:sha1:1b68f71348ecf3983b76b40d7940da8377f049b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'DRTVWR-588-maint-W' into marchcat/588-w-pbr-merge</title>
<updated>2023-11-30T10:28:26Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2023-11-30T10:28:26Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=0465c761a4cd14003d57d33f5edaa185d6fd7a01'/>
<id>urn:sha1:0465c761a4cd14003d57d33f5edaa185d6fd7a01</id>
<content type='text'>
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llvertexbuffer.cpp
#	indra/llui/llflatlistview.cpp
#	indra/newview/lldrawpoolground.cpp
#	indra/newview/llspatialpartition.cpp
#	indra/newview/lltexturefetch.cpp
#	indra/newview/llviewergenericmessage.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llvosky.cpp
#	indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
#	indra/newview/skins/default/xui/en/floater_stats.xml
#	indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml
#	indra/newview/skins/default/xui/en/notifications.xml
#	indra/newview/skins/default/xui/en/panel_performance_preferences.xml
</content>
</entry>
</feed>
