Commit Graph

882 Commits

Author SHA1 Message Date
Aleric Inglewood
75ff0fc04d Add more support for debugging plugins.
Added support for plugin debug messages and better error reporting
when something goes wrong during start up of SLPlugin.

Also added more debug output regarding general plugin messages
as well as debug output related to AIFilePicker.
2011-05-08 17:49:06 +02:00
Aleric Inglewood
c46c86ca4b Split plugin classes and derive AIFilePicker from BasicPluginBase (part 4).
Add back fixes that were in Singularity (in indra/media_plugins) but not
in imprudence.

Also:

Add "shutdown" plugin message and terminate file picker plugins cleanly.

The DSO (libbasic_plugin_filepicker.so) now tells the child process /
plugin loader (SLPlugin) to terminate (using the 'shutdown' message),
and AIFilePicker::finish_impl destroys the plugin object on the viewer
side when it's ... finished thus.

Also added a large comment that gives an overview of all classes
involved on the viewer side.

Additional fixes for filepicker.

Plugin refactor bug fix: mDeleteMe was uninitialized in AIPluginFilePicker.
2011-05-08 17:30:43 +02:00
Aleric Inglewood
e89d6d9d66 Split plugin classes and derive AIFilePicker from BasicPluginBase (part 1).
This commit contains all changes, except those in indra/media_plugins
(which was renamed to indra/plugins) and indra/llplugin.

However, it does contain the (new) file
indra/plugins/filepicker/basic_plugin_filepicker.cpp
2011-05-08 17:10:38 +02:00
Aleric Inglewood
f6b57d956d Added base class AIStateMachine.
This is the skeleton needed to implement classes that can be reused and
work together, which can perform asynchronous tasks (read: need to wait
for certain events before they can continue).

An example would be the task of waiting for a given inventory folder to
be read. This could then be used to improve the builtin AO
(automatically reading that folder when a notecard is dropped, and
continuing when the whole folder is read).

It's first use will be communication with a filepicker that runs
in a plugin.
2011-05-08 17:08:48 +02:00
Aleric Inglewood
474acdbff9 Add support for libcwd.
This patch has no influence if you don't have libcwd installed.
Note that libcwd (http://libcwd.sourceforge.net/) is only
available for linux.

A default compile of libcwd does memory allocation tracking,
which is too slow for everyday usage of the viewer (usable,
but notably slower) and we don't need that. Configure your
libcwd as follows:

./configure --prefix=/sl/usr --disable-alloc --enable-optimize

Or whatever prefix you prefer (add --enable-maintainer-mode
if you're compiling it from the SVN repository), add
--disable-nonthreading to compile twice as fast.

If you have it installed you can activate it's use by setting a
few environment variables:

CXXFLAGS="$(pkg-config --cflags libcwd_r)"
LDFLAGS="$(pkg-config --libs libcwd_r) -lpthread"

and then reconfiguring the viewer.

The -lpthread is needed when using ld.gold, however, if you
leave it out you might get an LDFLAGS that ends on trailing
whitespaces, which doesn't work for some reason.

Also, if you installed it in a non-standard place (/sl/usr
above) then you need this to run the viewer (and tests):

export LD_LIBRARY_PATH="/sl/usr/lib"
2011-05-08 17:08:48 +02:00
Aleric Inglewood
3a1d753344 Use LL_DEBUG_TERMINAL_COMMAND and LL_DEBUG_GDB_PATH
Upgraded the code that attaches gdb to a plugin for linux
to the code that I wrote for viewer 2.
2011-05-08 17:08:47 +02:00
Aleric Inglewood
111c671a21 Also strip libraries on x86_64, which uses lib32 and lib64 directory names 2011-05-08 17:08:47 +02:00
Aleric Inglewood
0fa396938b Merge branch 'master' of https://github.com/siana/SingularityViewer 2011-05-05 15:54:21 +02:00
Aleric Inglewood
92696623e0 Start up crash of LLErrorThread due to corrupt map in CheckLevelMap
Wrapped gSettings and the global objects returned by Settings::get() and
Globals::get() in AIThreadSafe, forcing thread-safe access.

This solves the problem of possible corruption of the various LevelMap's
in LLError::Settings due to thread unsafe accesses.
2011-05-05 15:41:19 +02:00
Aleric Inglewood
4d932d5e2d Added a thread-safe and robust wrapper for APR pools.
See http://redmine.imprudenceviewer.org/issues/590
and https://jira.secondlife.com/browse/SNOW-596
2011-05-05 02:52:55 +02:00
Siana Gearz
4666e29fb7 install Hunspell dictionaries 2011-05-04 21:10:59 +02:00
Aleric Inglewood
f2199a504b More various small, old patches.
Updated source tree to include everything I did
up till 2010-11-09.

Still to add: IMP-590, IMP-701, IMP-734, IMP-735 and IMP-702.
2011-05-04 19:48:16 +02:00
Aleric Inglewood
ab5915c16c LindenUserDir fixes.
Patch from 2010-10-20/22. Didn't apply cleanly so I redid it
manually and tested/checked it. There was only one difference
with imprudence: for some reason Singularity tries to see
if the "teleport history" floater is visible while initializing
the menu's, something that imprudence doesn't do. For the rest
the patch is basically the same. Nevertheless, I left all code
exactly as it was in Singularity (the only thing that this
commit changes is the intend of the original patch: in debug
mode, fail with an assertion when LindenUserDir is called while
it is not initialized; and then fix everything to make it work
again.

Original commit message:

The LindenUserDir (~/.imprudence/first_last/) cannot be initialized
before the user logged in. However, several singletons (that only can be
initialized once) depend on this directory for initialization. Therefore
we have to take care not to instantiate those singletons until after the
user logged in.

With regard to webit, this fixes the browser_profile (cache and cookies)
directory that the builtin browser uses.
2011-05-04 17:54:57 +02:00
Aleric Inglewood
ccaa494e85 Updated doc/contributions.txt and added various missing patches from imprudence.
This updates the source tree with patches that I committed to
imprudence up till and including 2010-10-19.
2011-05-04 15:52:25 +02:00
Siana Gearz
8983f4a186 Don't crash there. 2011-05-04 14:46:23 +02:00
Siana Gearz
d611f6b741 Adding hunspell dll/so/dylib 2011-05-04 00:07:32 +02:00
Siana Gearz
44cf222104 Now can offer teleport to anyone 2011-05-04 00:03:55 +02:00
Siana Gearz
90c22d8edf J2C stream length estimation back to old 2011-05-03 23:53:18 +02:00
Siana Gearz
7d417faaf4 Merge git://github.com/Shyotl/SingularityViewer 2011-05-03 19:34:16 +02:00
Shyotl
c2f0aa53af PumpIO fasttimer now child of Pump fasttimer (instead of being blindly added to Pump). Aids debugging pumpIO hitching. 2011-05-03 01:15:17 -05:00
Shyotl
9ea3032fee Reverted some preloaded textures to pre-v2 filenames so they are actually found. 2011-05-02 23:15:48 -05:00
Shyotl
3dff32d2ab Now that depth blitting appears to work, moving hovertext and such to ui render. Also, added depth-culling in a few more spots to hopefully lessen frag shader usage in deferred. 2011-05-02 17:05:06 -05:00
Aleric Inglewood
6848c2df6f Fix underlinkage of libmedia_plugin_webkit.so
Fixed by updating indra/cmake/WebKitLibPlugin.cmake with
version from imprudence.

This commit also contains removal of execute permissions
of source files and configure files, sorry...
2011-05-02 23:13:15 +02:00
Aleric Inglewood
1ced64e0b4 Add LLWeb::curlEscape
Since curl 7.21.2 - (October 13 2010), curl_escape (a deprecated
function that will be removed in the future) changed it's behavior
and no longer escapes the characters '-', '.', '_' and '~'.

The only reasonable solution for us is to stop using it and
use our own version that mimics the old behavior. The only
other alternative would be to rename every .xml file with
escaped characters in their name upon installation, depending
on the behavior of the installed libcurl (on standalone anyway).
However, if you add to that in the future curl_escape has to
be replaced with curl_easy_escape, which is far from easy to
call as it requires a CURL to be passed for which LL invented
a wrapper in libllmessage, but did hide that (Curl::Easy is
only defined in a .cpp file), then we're better of just using
our own function, which I named LLWeb::curlEscape.
2011-05-02 20:15:50 +02:00
Aleric Inglewood
094587aefd Make viewer compile on standalone linux x86_64
This involves making libllcommon shared, a change
that was not finished for windows/Mac.
More changes are needed to indra/newview/viewer_manifest.py
for those two operating systems, as well as to
indra/copy_win_scripts.

I did not test this on linux 32bit, nor non-standalone
on that OS, either.

I did not check voice (which will very likely not work
anyway on 64bit). And currently the webkit plugin doesn't
work for me, but I'll fix that in a different commit.
2011-05-02 19:40:33 +02:00
Aleric Inglewood
1b4ae2e3b5 Removed generated file mime_types.xml, and fixed indentation in the source files.
indra/newview/skins/default/xui/en-us/mime_types.xml should be generated
from mime_types_linux.xml, mime_types_mac.xml or mime_types_windows.xml
by copying it when packaging. Hence, it should never be used.

Note, this is an exact sync with imprudence.
2011-05-02 15:26:49 +02:00
Siana Gearz
5fd1312ae0 Restoring grid nickname in manager 2011-05-02 02:21:26 +02:00
Shyotl
b57c3fd6e5 Skin tight clothing fix ala thickbrick: https://bitbucket.org/lindenlab/viewer-development/changeset/fbde1fb8ab65
https://jira.secondlife.com/browse/STORM-1147
2011-05-01 18:08:24 -05:00
Siana Gearz
50f6d7b677 Merge branch 'master' of https://github.com/Shyotl/SingularityViewer 2011-05-01 23:11:38 +02:00
Siana Gearz
38849c1328 Merge git://github.com/AlericInglewood/SingularityViewer
Conflicts:
	indra/newview/CMakeLists.txt
	indra/newview/app_settings/settings.xml
2011-05-01 22:55:18 +02:00
Aleric Inglewood
26c40255aa Remove CR from configuration, source and xml files. 2011-05-01 22:16:05 +02:00
Shyotl
d8caa6a980 Typo effed things up and blocked instant-messages all willy-nilly. 2011-05-01 01:29:55 -05:00
Shyotl
a8f4b3ed4a Merge branch 'master' into V2AvatarPhysics 2011-04-30 22:41:25 -05:00
Shyotl
09133307a1 Merge branch 'master' of git://github.com/siana/SingularityViewer.git 2011-04-30 22:41:08 -05:00
Siana Gearz
ae50fc4404 GCCified SH_SpamHandler 2011-05-01 04:57:44 +02:00
Shyotl
cff618f67d Doubleclick focus on avatar radar. 2011-04-30 21:46:01 -05:00
Siana Gearz
1d90b8624b Updated LSL keywords 2011-04-30 23:28:28 +02:00
Shyotl
6cf9c3b4ed Demoted llerrs to llwarns in HippoGridManager::saveFile() to prevent forcing the client to crash on connect if something goes wrong there(Have had a few reports of this llerrs popping up for people on XP). Failure to save is non-critical. 2011-04-30 16:01:10 -05:00
Shyotl
226de66b81 Skip rendering hud-related elements when rendering for impostor. http://code.google.com/p/singularity-viewer/issues/detail?id=20&can=1 2011-04-30 16:01:02 -05:00
Shyotl
89c6f11072 Demoted llerrs to llwarns in HippoGridManager::saveFile() to prevent forcing the client to crash on connect if something goes wrong there(Have had a few reports of this llerrs popping up for people on XP). Failure to save is non-critical. 2011-04-30 16:00:06 -05:00
Shyotl
41dc9f9751 Skip rendering hud-related elements when rendering for impostor. http://code.google.com/p/singularity-viewer/issues/detail?id=20&can=1 2011-04-30 15:59:16 -05:00
Siana Gearz
ee2508274e Merge branch 'master' of https://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/newview/app_settings/settings.xml
2011-04-30 22:02:02 +02:00
Siana Gearz
4bb68e5a34 Updated root certificates 2011-04-30 22:00:12 +02:00
Shyotl
e3b328a115 Removed superfluous llinfos messages. 2011-04-30 02:13:35 -05:00
Shyotl
0dd3e189fc Adjusted camera positions while editing physics. Focuses and zooms in closer to location being edited. 2011-04-29 20:15:37 -05:00
Shyotl
a694742522 Added physics subpanel to avatar customize floater.
Also, removed redundant tattoo and alpha entries.
Modified LLScrollingPanelParam to work without needing 'hints'. A bit hacky since I didn't want to dive into making yet another xml, but works well enough.
Avatar_lad entries names changed to more readable forms since LLTrans isn't where it needs to be yet.

Camera doesn't move to great positions when editing phys parts, but that's for another day.
2011-04-29 03:39:05 -05:00
Shyotl
d2f66f9bd0 LLTextureCache is spamming warnings as it attempts to remove non-existant files. Not sure if this is a bug or not, but it's been this way for a while now, so I'm squelching it. 2011-04-29 00:24:07 -05:00
Shyotl
8b12d794c5 Added physics saved settings.
Emerald physics demoted to legacy. Only enabled on av's that fail to send physics paramaters, or AvatarPhysics is completely disabled.
Params reset when AvatarPhysics is toggled off. (Bugfix for LL's code)
2011-04-28 22:47:48 -05:00
Shyotl
2dff12433c Avatar Physics innital commit. No edit panel. SavedSettings not plugged in yet. 2011-04-28 10:09:11 -05:00
Shyotl
332cfdb532 Updated llinventory to something closer to V2's implementation. Mostly just restructuring.
Most the changes are due to InventoryObjectList* changing to LLInventoryObject::object_list_t*, LLInventoryItem::II_FLAGS* changing to LLInventoryItemFlags::II_FLAGS* and also const'ing.
Certain perms for certain asset types(callcard&landmarks) have been laxed, as per LL's V2.
LLInventoryType now does lookups mostly though new lldictionary class.
LLLandmark using boost for callbacks, instead of custom class structure.
2011-04-28 01:43:44 -05:00