Merge remote-tracking branch 'singu/master'
Merge remote-tracking branch 'singu/master'
Don't cause undefined behavior by calling std::vector<>::front() for empty container.
Kill some vertex attribute / shader attribute inconsistencies. (Issue 1287, 1281) Also hopefully improved face edit overlay behavior when editing normal/specular texture/scale/offset/rotation.
Fix minor error in shader which prevented ssao from working with shadows enabled.
Use GL_STREAM_DRAW_ARB for post-process fullscreen quad.
Fixed Alerics favorite assertion.
Avoid calling a few deprecated gl functions when shaders are enabled.
Merge branch 'master' of git://github.com/Shyotl/SingularityViewer
Build fix
Don't assert at exit.

It's perfectly ok when a responder is being deleted before it finished,
when the application is exiting.
Show the part of an animation after the loop out point when previewing.
Merge remote-tracking branch 'singu/master'
Fix issue 1113, "detaching editted attachment does not unfreeze avatar"

Detaching an attachment didn't reset the select managers pause request
for the avatar.
Bug fix.

 singularity-do-not-run-directly: /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h:219: void ll_memcpy_nonaliased_aligned_16(char*, const char*, size_t): Assertion `src != __null' failed.

 Program received signal SIGABRT, Aborted.
 [Switching to Thread 0x7fff3342f700 (LWP 18001)]
 0x00007ffff0f951d5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
 56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
 (gdb) bt
 #0  0x00007ffff0f951d5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
 #1  0x00007ffff0f98388 in __GI_abort () at abort.c:90
 #2  0x00007ffff0f8e252 in __assert_fail_base (fmt=0x7ffff10cc080 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x2c7ca97 "src != __null",
     file=file@entry=0x2c7ca40 "/opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h", line=line@entry=219,
     function=function@entry=0x2c7dc60 "void ll_memcpy_nonaliased_aligned_16(char*, const char*, size_t)") at assert.c:92
 #3  0x00007ffff0f8e302 in __GI___assert_fail (assertion=0x2c7ca97 "src != __null", file=0x2c7ca40 "/opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h",
     line=219, function=0x2c7dc60 "void ll_memcpy_nonaliased_aligned_16(char*, const char*, size_t)") at assert.c:101
 #4  0x0000000001b3ebd9 in ll_memcpy_nonaliased_aligned_16 (dst=0x7fff2c39f440 "\001", src=0x0, bytes=0)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llmemory.h:219
 #5  0x0000000001e09d93 in LLVector4a::memcpyNonAliased16 (dst=0x7fff2c39f440, src=0x0, bytes=0)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvector4a.cpp:44
 #6  0x0000000001e2a13c in LLVolumeFace::pushVertex (this=0x7fff3342daf0, pos=..., norm=..., tc=...)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvolume.cpp:6106
 #7  0x0000000001e2a03f in LLVolumeFace::pushVertex (this=0x7fff3342daf0, cv=...) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvolume.cpp:6080
 #8  0x0000000001e20498 in LLVolumeFace::optimize (this=0x7fff2c39ee20, angle_cutoff=2) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llmath/llvolume.cpp:4841
 #9  0x0000000001aa61d4 in LLModel::optimizeVolumeFaces (this=0x7fff2c39e100) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llprimitive/llmodel.cpp:866
 #10 0x0000000001aa5f28 in LLModel::createVolumeFacesFromDomMesh (this=0x7fff2c39e100, mesh=0x7fff2c36cc90)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llprimitive/llmodel.cpp:829
 #11 0x0000000001aa8324 in LLModel::loadModelFromDomMesh (mesh=0x7fff2c36cc90) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llprimitive/llmodel.cpp:1402
 #12 0x0000000000a9bc11 in LLModelLoader::doLoadModel (this=0x7fff4f74d480) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/newview/llfloatermodelpreview.cpp:1535
 #13 0x0000000000a9b100 in LLModelLoader::run (this=0x7fff4f74d480) at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/newview/llfloatermodelpreview.cpp:1395
 #14 0x00007ffff5e52e9a in LLThread::staticRun (apr_threadp=0x7ffff7e572e0, datap=0x7fff4f74d480)
     at /opt/secondlife/viewers/singularity/SingularityViewer/linden/indra/llcommon/llthread.cpp:93
 #15 0x00007ffff7bc6e0e in start_thread (arg=0x7fff3342f700) at pthread_create.c:311
 #16 0x00007ffff10490fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

This happened while loading some .dae.
Erata for last commit (issue 1113).
Do not destruct running Responders upon viewer exit.

This hopefully saves some crashes.
Avoid duplicated entries in mAttachedObjectsVector

This fixes Top Crasher signatures 2 and 50.
http://crash.singularityviewer.org/crashes.php?signature_id=2
http://crash.singularityviewer.org/crashes.php?signature_id=50