<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/test/test.cpp, 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>2025-12-04T08:48:50Z</updated>
<entry>
<title>Merge remote-tracking branch 'secondlife/release/2026.01' into 2026.01</title>
<updated>2025-12-04T08:48:50Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-12-04T05:58:12Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=e3a35af2c676fb211ff7d01a79eb1a3299bc82f3'/>
<id>urn:sha1:e3a35af2c676fb211ff7d01a79eb1a3299bc82f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>#5078 Replace boost::function with std::function</title>
<updated>2025-12-01T10:46:57Z</updated>
<author>
<name>Rye</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2025-12-01T10:46:57Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=fb3f0e18a2ada57f98c3b10fab0c13fb2d504ae1'/>
<id>urn:sha1:fb3f0e18a2ada57f98c3b10fab0c13fb2d504ae1</id>
<content type='text'>
* Replace boost::function usage with std::function for easier debugging and reduced compiler warnings
* Remove a few remaining instances of boost::noncopyable that were missed in tests

Signed-off-by: Rye &lt;rye@alchemyviewer.org&gt;</content>
</entry>
<entry>
<title>Revert "Promote seh_catcher() et al. to llexception.{h,cpp} for general use."</title>
<updated>2025-06-03T08:21:58Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-06-03T08:21:58Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=bbe51e86249114cac4716c391e267c499a52847a'/>
<id>urn:sha1:bbe51e86249114cac4716c391e267c499a52847a</id>
<content type='text'>
This reverts commit 71d777ea126e7f02cb46c11bdb606094ca06f75c.
</content>
</entry>
<entry>
<title>Revert "Fix up llexception.h's cross-platform SEH wrapper."</title>
<updated>2025-06-03T08:20:27Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-06-03T08:20:27Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9bae19198fdc7bfb71f900cfe6c1982cb2a80e4f'/>
<id>urn:sha1:9bae19198fdc7bfb71f900cfe6c1982cb2a80e4f</id>
<content type='text'>
This reverts commit 5ed8df22cd59680a685c4ada7daa5555bf59d4fe.
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'secondlife/release/2024.08-DeltaFPS' into 2024.08-DeltaFPS</title>
<updated>2024-09-01T12:43:42Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-08-31T13:25:47Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=95582654e49422d51b55665c3f2821c848ad1cb8'/>
<id>urn:sha1:95582654e49422d51b55665c3f2821c848ad1cb8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up boost includes and remove compiler warning pragma for unreachable code in PCH (#2361)</title>
<updated>2024-08-20T15:41:48Z</updated>
<author>
<name>Ansariel Hiller</name>
<email>Ansariel@users.noreply.github.com</email>
</author>
<published>2024-08-20T15:41:48Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9f7dd0177201fe080c287144b99a70125be1fb2b'/>
<id>urn:sha1:9f7dd0177201fe080c287144b99a70125be1fb2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Enable /permissive- on MSVC for better standards conformance  (#2251)</title>
<updated>2024-08-14T15:01:02Z</updated>
<author>
<name>Rye Mutt</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2024-08-14T15:01:02Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=b5e306f7d89e82984a37824a3640bd67a5c45d61'/>
<id>urn:sha1:b5e306f7d89e82984a37824a3640bd67a5c45d61</id>
<content type='text'>
* Enable /permissive- on MSVC for better C++ conformance and fix related errors

* Clean up left over warning suppressions from old library or msvc versions</content>
</entry>
<entry>
<title>Update tracy profiler to 0.10 (#1946)</title>
<updated>2024-07-09T21:53:43Z</updated>
<author>
<name>Rye Mutt</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2024-07-09T21:53:43Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=2a7030992faa12c362d3eb9365080efd8265e15f'/>
<id>urn:sha1:2a7030992faa12c362d3eb9365080efd8265e15f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'release/maint-b' into nat/catch-test-blown-stack.</title>
<updated>2024-05-30T15:02:31Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2024-05-30T15:02:31Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=dfdb88305e4612c54f190c1ba237bdb609224d74'/>
<id>urn:sha1:dfdb88305e4612c54f190c1ba237bdb609224d74</id>
<content type='text'>
Retargeting PR #1496 to Maint B.
</content>
</entry>
<entry>
<title>Fix up llexception.h's cross-platform SEH wrapper.</title>
<updated>2024-05-28T17:22:05Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2024-05-28T17:22:05Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=5ed8df22cd59680a685c4ada7daa5555bf59d4fe'/>
<id>urn:sha1:5ed8df22cd59680a685c4ada7daa5555bf59d4fe</id>
<content type='text'>
Introduce AlwaysReturn&lt;void&gt; specialization, which always discards any result
of calling the specified callable with specified args.

Derive new Windows_SEH_exception from LLException, not std::runtime_error.

Put the various SEH functions in LL::seh nested namespace, e.g.
LL::seh::catcher() as the primary API.

Break out more levels of Windows SEH handler to work around the restrictions on
functions containing __try/__except.

The triadic catcher() overload now does little save declare a std::string
stacktrace before forwarding the call to catcher_inner(), passing a reference
to stacktrace along with the trycode, filter and handler functions.

catcher_inner() accepts the stacktrace and the three function template
arguments. It contains the __try/__except logic. It calls a new filter_()
wrapper template, which calls fill_stacktrace() before forwarding the call to
the caller's filter function. fill_stacktrace(), in the .cpp file, contains
the logic to populate the stacktrace string -- unless the Structured Exception
is stack overflow, in which case it puts an explanatory string instead.

catcher_inner()'s __except clause passes not only the code, but also the
stacktrace string, to the caller's handler function. It wraps the caller's
handler function in always_return&lt;rtype&gt;(), where rtype is the type returned
by the trycode function. This allows a handler to return a value, while also
supporting the void handler case, e.g. one that throws a C++ exception. (This
is why we need AlwaysReturn&lt;void&gt;: some trycode() functions are themselves
void.)

For the dyadic catcher() overload, introduce common_filter() containing the
logic to distinguish a C++ exception from any other kind of Structured
Exception. The fact that the stacktrace is captured before the filter function
is called should permit capturing a stacktrace for a C++ exception as well as
for most other Structured Exceptions.

As before, the monadic catcher() overload supplies the rethrow() handler, in
the .cpp file.

Change existing calls from seh_catcher() to LL::seh::catcher().
</content>
</entry>
</feed>
