Commit Graph

1086 Commits

Author SHA1 Message Date
Aleric Inglewood
80bbf5d083 Fix underlinkage of libmedia_plugin_gstreamer.so
Needed for the newer plugin code. This is basically just a copy
of indra/cmake/GStreamer010Plugin.cmake from Imprudence.
2011-05-08 17:32:05 +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
16cd4c5c4b Split plugin classes and derive AIFilePicker from BasicPluginBase (part 3).
This commit deletes all indra/media_plugins and copied one-on-one
the indra/plugins directory from my (imprudence) statemachine branch
(which contains the AIFilePicker patch).

git shows this as a lot of 'renamed' files because originally it
was a rename. However, there are a lot of changes as well: it's both
an upgrade to a newer plugin system (changes by LL) as well as an
upgrade to my refactored plugin system with a file picker as plugin.

Since this commit is a one-on-one copy, it disregards any changes
that were in Singularity and not in imprudence in indra/media_plugins
however. I will add those back in the next commit.
2011-05-08 17:10:39 +02:00
Aleric Inglewood
784fdd4f37 Split plugin classes and derive AIFilePicker from BasicPluginBase (part 2).
This commit contains all changes to indra/llplugin.
Since there were no differences at all between Singularity and
imprudence before this patch, it's a perfect port.
2011-05-08 17:10:38 +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
Siana Gearz
eedc1f79ec Resolve stray VC8 CRT dependency by updating libs 2011-05-05 03:20:54 +02:00
Aleric Inglewood
86a19e8e91 IMP-701: An API to wrap objects for thread-safe access.
See http://redmine.imprudenceviewer.org/issues/701
2011-05-05 02:54:38 +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
Aleric Inglewood
5b08560047 Update of doc/contributions.txt with patches from snowstorm already in Singularity. 2011-05-04 22:23:49 +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
Shyotl
65c2a46121 Workaround for depth+stencil blitting on AMD(Ati) hardware, plus alteration to blitting to framebuffer when using MSAA. 2011-05-02 17:02:44 -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
c0c786b39f Make loading prebuilts work.
Copied indra/cmake/Prebuilt.cmake from imprudence,
which fixed this issue.
2011-05-02 20:50:26 +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
Aleric Inglewood
b7aaef7e91 Set appropriate compiler options for x86_64.
Using -march=pentium4 break compilation on 64bit.
A pentium isn't a 64bit cpu.
The used options were copied from imprudence.
2011-05-02 15:15:23 +02:00
Aleric Inglewood
b5a0d80cd7 Merge remote-tracking branch 'origin/master' 2011-05-02 04:39:29 +02:00
Aleric Inglewood
9bcc08df1a Don't barf when Google PerfTools are not found, but simply disable it.
Plus bug fix (missing NOT): in the case that USE_GOOGLE_PERFTOOLS
is not set we DON'T want to build with Google TCMalloc.
2011-05-02 04:36:47 +02:00
Aleric Inglewood
1510d5ff5a Use linux64 key on x86_64 2011-05-02 04:35:56 +02:00
Aleric Inglewood
5246fc9cdd Uninstall files of old packages when new packages are installed over an old one.
Also automatically add missing -dev symlinks to packages and check SONAME's.
This patch was originally written by me for Imprudence.
2011-05-02 03:51:47 +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
Shyotl
0cbb9a7078 Iterator fix in llavatarnamecache.cpp from v2. 2011-05-01 17:24:37 -05:00
Shyotl
2cf645e8e8 Merge branch 'master' of git://github.com/siana/SingularityViewer.git 2011-05-01 16:35:09 -05:00
Siana Gearz
50f6d7b677 Merge branch 'master' of https://github.com/Shyotl/SingularityViewer 2011-05-01 23:11:38 +02:00
Shyotl
65199d103a Merge branch 'V2AvatarPhysics' 2011-05-01 16:09:17 -05:00
Siana Gearz
2ba1dbf9da Unbotch Aleric 2011-05-01 23:04:18 +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
Aleric Inglewood
7edb98743d Add missing cmake/FindLLQtWebkit.cmake 2011-05-01 22:04:28 +02:00
Aleric Inglewood
6b8a12dd06 Rename FindZLIB.cmake to FindMyZLIB.cmake to avoid cmake warning. 2011-05-01 22:01:02 +02:00
Shyotl
d8caa6a980 Typo effed things up and blocked instant-messages all willy-nilly. 2011-05-01 01:29:55 -05:00