Commit Graph

2808 Commits

Author SHA1 Message Date
Aleric Inglewood
3774547367 Redo the copyconstructor hack for AI*Access objects.
The previous hack wasn't thread-safe: read-only access would
access the reference counter multiple times at the same time,
which therefore would have to be thread-local to ever work.

The current solution just disables the calls to lock/unlock
for copyconstructed objects, which works if the copyconstructed
object isn't used anymore after the original is destructed.
This is the case then the copy construction only happens
upon passing a temporary to a function, which is the case.
2011-05-13 00:37:47 +02:00
Shyotl
2c1a46c70d A stability and leak fix regarding editing physics wearables. Thanks Henri! 2011-05-13 00:36:04 +02:00
Shyotl
b6446cad10 A stability and leak fix regarding editing physics wearables. Thanks Henri! 2011-05-12 16:13:04 -05:00
Siana Gearz
4d9e7fa8c1 Deferred settings 2011-05-12 22:10:10 +02:00
TighMacFanatic
3a60326ad5 Merge branch 'spamui' 2011-05-12 14:10:00 -04:00
TighMacFanatic
e098ec7d46 Merge branch 'FloaterPositions' 2011-05-12 14:09:53 -04:00
TighMacFanatic
e2a220ac3c Tweaks to UI sizes so they fit better 2011-05-12 14:08:57 -04:00
TighMacFanatic
3f426fcb67 Added Open History button to local chat 2011-05-12 13:35:31 -04:00
TighMacFanatic
3fbc4a1dba Added money transactions to local chat 2011-05-12 13:35:08 -04:00
Aleric Inglewood
5f72cbb103 Add support for flushing messages from plugin to viewer.
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.
2011-05-12 18:22:51 +02:00
narv
ebe7053526 Version 1.5.7(2) 2011-05-12 07:50:34 -07:00
narv
981e4f39b2 Revert to build llcommon on Darwin 2011-05-12 07:41:49 -07:00
Siana Gearz
6d5d90bd92 Merge branch 'spamui' of git://github.com/TighMacFanatic/SingularityViewer 2011-05-12 15:16:17 +02:00
narv
636ef25eef Merge branch 'master' of git://github.com/siana/SingularityViewer 2011-05-12 01:24:54 -07:00
Shyotl
ba8e62841f Deferred class2 alpha shader should actually compile now. 2011-05-12 00:13:44 -05:00
Shyotl
d1d6994419 Full v2.6 renderer. 2011-05-12 00:13:38 -05:00
TighMacFanatic
f83c10208e Spam settings UI page 2011-05-12 00:39:06 -04:00
Siana Gearz
50310ba263 Merge git://github.com/Shyotl/SingularityViewer 2011-05-12 00:57:03 +02:00
Siana Gearz
b3847fdeed Build fixes 2011-05-11 23:06:49 +02:00
Siana Gearz
29feeccf0d Minimap fluke fix, thx Aleric 2011-05-11 23:06:19 +02:00
Siana Gearz
6b61e2dd2a Fix linkage in debug build on Windows 2011-05-11 12:47:24 +02:00
Aleric Inglewood
38b33328e6 Redo the copyconstructor hack for AI*Access objects.
The previous hack wasn't thread-safe: read-only access would
access the reference counter multiple times at the same time,
which therefore would have to be thread-local to ever work.

The current solution just disables the calls to lock/unlock
for copyconstructed objects, which works if the copyconstructed
object isn't used anymore after the original is destructed.
This is the case then the copy construction only happens
upon passing a temporary to a function, which is the case.
2011-05-11 03:47:42 +02:00
Aleric Inglewood
a6cb676d4a Add AIDirPicker and use it. Remove indra/newview/ll{dir,file}picker.{h,cpp}.
Also removed some code from the Mac/windows code in
indra/plugins/filepicker/llfilepicker.cpp that shouldn't
be in there anymore (send_agent_pause/resume and updating
the LLFrameTimer stuff).
2011-05-11 03:01:34 +02:00
Shyotl
b61b0ca932 ShowLookAt now depth-tested 2011-05-10 13:52:59 -05:00
Siana Gearz
b81cfb2c4f Version 1.5.7(1) 2011-05-10 14:51:27 +02:00
Siana Gearz
eeeb44755a Make minimap not die on dead objects 2011-05-10 13:50:44 +02:00
Aleric Inglewood
fa51d52578 Workaround for gcc 4.2.x.
g++ 4.2 (and possibly earlier) apparently call a copy
constructor when passing a temporary to a function
that takes a const reference. Added code to allow
copy-constructing the AI*Access classes for this
compiler.

g++-4.2.x also bails out when it encounters files that
do not end on a newline. So, also added those where
they were missing.
2011-05-10 13:47:17 +02:00
Aleric Inglewood
133391be90 Merge branch 'master' of https://github.com/siana/SingularityViewer
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.
2011-05-10 04:46:58 +02:00
Aleric Inglewood
e0b0fa4f58 Use AIFilePicker everywhere.
Also upgrade the file picker filters with the new extensions found
in the orginal file picker code of Singularity.

Also improve AIFilePicker a bit: added hasFilename() and now
deleting the statemachine automatically by default: it's no longer
needed to call deleteMe from the callback.
2011-05-10 04:27:57 +02:00
TighMacFanatic
107c3cb70a Merge https://github.com/TighMacFanatic/SingularityViewer
Conflicts:
	indra/newview/CMakeLists.txt
	indra/newview/app_settings/settings.xml
2011-05-09 22:06:00 -04:00
Aleric Inglewood
81550aa6de Workaround for gcc 4.2.x.
g++ 4.2 (and possibly earlier) apparently call a copy
constructor when passing a temporary to a function
that takes a const reference. Added code to allow
copy-constructing the AI*Access classes for this
compiler.

g++-4.2.x also bails out when it encounters files that
do not end on a newline. So, also added those where
they were missing.
2011-05-10 03:11:48 +02:00
Siana Gearz
8227efcaf1 Make our build and packaging shine again 2011-05-09 13:35:51 +02:00
Shyotl
005507c891 Merge branch 'master' of git://github.com/siana/SingularityViewer.git 2011-05-09 00:15:20 -05:00
Siana Gearz
2ca4d1bf64 Merge branch 'AlericMaster' of git://github.com/Shyotl/SingularityViewer 2011-05-09 00:49:21 +02:00
Siana Gearz
e371c2e93d Repo cleanup. Sheesh, who packaged pics with a lib? 2011-05-09 00:40:38 +02:00
Siana Gearz
8d2b56b1eb Fixed prebuilt fetching, Snowglobe style 2011-05-08 23:25:21 +02:00
Shyotl
2529644e90 Should now compile on VC100 again. 2011-05-08 16:25:03 -05:00
Shyotl
1a099167ae Fixing Win compile. (Partial) 2011-05-08 20:34:32 +02:00
Shyotl
0638fafe66 Fixing Win compile. (Partial) 2011-05-08 12:46:42 -05:00
Siana Gearz
e2e576e550 Merge git://github.com/AlericInglewood/SingularityViewer
Conflicts:
	indra/newview/skins/default/xui/en-us/mime_types.xml
2011-05-08 19:39:32 +02:00
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
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