Usage:
nc -l -p 61916
AITESTPLUGIN=1 LL_WRAPPER='gdb --args' ./singularity
Then paste into nc:
<llsd>
<map>
<key>class</key>
<string>internal</string>
<key>name</key>
<string>load_plugin</string>
<key>params</key>
<map>
<key>dir</key>
<string>/opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/viewer-linux-x86_64-debug/newview/packaged/bin/llplugin</string>
<key>file</key>
<string>/opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/viewer-linux-x86_64-debug/newview/packaged/bin/llplugin/libbasic_plugin_filepicker.so</string>
</map>
</map>
</llsd>
and press control-v control-shift-2
Where the path should match the library you want to load.
This fixes the problem that many terminals require command line
parameters to be passed as command line parameters to the terminal
command. The old code would pass the whole gdb command including
all it's arguments (whatever replaces %s) as a single argument,
regardless of whether there are quotes around the %s or not.
Now those arguments are passed as separate arguments if there
are no quotes around the %s.
Updated documentation with an example on how to open a gdb terminal
on a different machines X display.
To detour SetUnhandledExceptionFilter to a dummy function, don't use WriteProcessMemory which
is usually used for inter-process writes and debugging. Instead, use more common technique
based on VirtualProtect.
Added missing header to indra/newview/ascentkeyword.cpp now that
llviewerpluginmanager.h has a couple of header dependencies less.
Resolved Conflicts:
indra/llcommon/CMakeLists.txt
Proximity: addition of two independent things. Just included both.
Actually flush messages before terminating a plugin (upon
the shutdown message) and flush messages in the file- and
dirpicker before opening the blocking dialog. Flush debug
messages too (deeper into the code, just prior to the actual
blocking call).
Also, fix the context folder map to be a thread-safe
singleton and *attempt* to add support for default folders
to windows and Mac. The latter might even not compile yet
and definitely have to be tested (and fixed):
Opening a DirPicker in preferences --> Network and Set
the directory location of the cache. It should open a
Dialog window where you are already in the folder that
is the current cache directory setting (you can click
Cancel after verifying that this worked).
And, start to upload an image, select a file is some
directory (other than what it starts in). You can omit
the actual upload by clicking cancel in the preview.
Then upload again and now it should start in the same
folder as that you were just in. Possibly you need to
first open a file picker elsewhere with a different context
though, or windows might choose to open in the last
folder anyway while the code doesn't really work. Uploading
a sound before the second texture upload should do the
trick.
Resolved Conflicts:
indra/newview/llviewermedia.cpp
indra/plugins/base_media/CMakeLists.txt
Trivial fix for indra/newview/llviewermedia.cpp.
Moved 'prepare' dependency from base_media to
base_basic because media already depends on basic.