Commit Graph

52843 Commits (4636dadc8fb82151f9492ea09886d670f68a3cfb)

Author SHA1 Message Date
Ansariel 4636dadc8f FIRE-19513: Add Nirmala UI font as fallback on Windows systems 2017-11-05 16:56:08 +01:00
Ansariel 52db7596e0 Reset mesh LOD during forced avatar rebake 2017-11-04 11:37:17 +01:00
Ansariel 8e782e7127 Fix avatar textures not refreshing when forcing a rebake 2017-11-04 11:32:53 +01:00
Ansariel 2a83220a93 RVLa: Use legacy name to generate the anonymized name for @showname restriction to fix an edge case when a name could not be resolved, since simulator always sends names in legacy format 2017-11-04 11:10:39 +01:00
Ansariel d4da768275 Fix discrepancy of anonymized avatar names under @shownames restriction 2017-11-04 02:04:49 +01:00
Tonya Souther c8197244ba Change to 64-bit Havok library from LL for OS X. 2017-11-03 06:06:33 -05:00
Ansariel 9fe9028476 FIRE-21625: Add option to remap special shortcuts on Linux already in use by the operating system; based on a patch by Thickbrick Sleaford 2017-11-02 19:07:07 +01:00
Ansariel 0c317a9b97 FIRE-21787: Improve checks for LLEnableEditParticleSource to see if that helps 2017-11-02 18:16:57 +01:00
Ansariel f047beabc3 FIRE-21785: Taper spinner ignores build limits for some types if editor has focus and up/down button is pressed 2017-11-02 13:50:15 +01:00
Ansariel 91a662ba7a Add option to "reset" broken meshes worn on avatars due to stuck LOD 2017-11-01 01:56:56 +01:00
Ansariel 84e3e4ad9d Drop in Havok for Win64 - hopfully without breaking Linux... 2017-10-28 19:50:48 +02:00
Ansariel 8084ccff3a MAINT-7633 Crash fix 2017-10-27 23:41:08 +02:00
Mnikolenko Productengine 3978a5e3c6 MAINT-7611 Chat history does not display in the conversation log for groups that have a leading space in their name 2017-10-09 10:47:10 +03:00
Ansariel a4c53be011 Drop in necessary parts for fix for MAINT-6950 Shared media a great distance away (different region even) sometimes plays at maximum volume when entering a region or moving camera slightly. 2017-10-26 13:14:58 +02:00
Nat Goodspeed 384bf65a11 DRTVWR-418: Remove misleading comment -- no more implicit deleteAll().
The comment indicates that calling LLSingletonBase::deleteAll() is optional
because the LLSingleton machinery implicitly calls that during final
static-object cleanup. That is no longer true.
2017-04-27 08:32:19 -04:00
Nat Goodspeed bf9d67656f DRTVWR-418: Remove final shutdown cleanup as a cause of crashes.
The recent LLSingleton work added a hook that would run during the C++
runtime's final destruction of static objects. When the LAST LLSingleton in
any module was destroyed, its destructor would call
LLSingletonBase::deleteAll(). That mechanism was intended to permit an
application consuming LLSingletons to skip making an explicit deleteAll()
call, knowing that all instantiated LLSingleton instances would eventually be
cleaned up anyway.

However -- experience proves that kicking off deleteAll() processing during
the C++ runtime's final cleanup is too late. Too much has already been
destroyed. That call tends to cause more shutdown crashes than it resolves.

This commit deletes that whole mechanism. Going forward, if you want to clean
up LLSingleton instances, you must explicitly call
LLSingletonBase::deleteAll() during the application lifetime. If you don't,
LLSingleton instances will simply be leaked -- which might be okay,
considering the application is terminating anyway.
2017-04-24 16:36:54 -04:00
Nat Goodspeed f579b94138 DRTVWR-418: Ignore logging that requires resurrecting singletons.
The logging subsystem depends on two different LLSingletons for some reason.
It turns out to be very difficult to completely avoid executing any logging
calls after the LLSingletonBase::deleteAll(), but we really don't want to
resurrect those LLSingletons so late in the run for a couple stragglers.
Introduce LLSingleton::wasDeleted() query method, and use it in logging
subsystem to simply bypass last-millisecond logging requests.
2017-03-13 14:09:14 -04:00
Nat Goodspeed 8432478f67 DRTVWR-418: Tweak shutdown sequence to avoid resurrecting singletons.
The LLSingletonBase::deleteAll() call late in LLAppViewer::cleanup() deletes
the LLSingleton(s) used by the logging machinery, among other things. Attempting
further logging after that call (such as our cheery "Goodbye!") has the
unfortunate effect of attempting to resurrect the deleted LLSingleton(s). Move
"Goodbye!" to just *before* the call.

Also, given that call, the manual references to a couple specific LLSingletons
in ~LLAppViewer() are (a) unnecessary and (b) cause attempted resurrection.
Eliminate both.
2017-03-13 13:58:59 -04:00
Ansariel e16b1a6093 Undo some fixes so the LL patches apply cleanly 2017-10-26 12:07:53 +02:00
andreykproductengine a40e881303 MAINT-989 Velocity and acceleration should take time into account 2017-10-17 20:02:29 +03:00
andreykproductengine a2cb33d6ce MAINT-5261 The "Ping Interpolate the object position" seems to no longer work 2017-10-23 22:06:46 +03:00
Ansariel 25448a8f64 Add Vincent Sylvester to credits for FIRE-21301 2017-10-25 19:50:20 +02:00
Ansariel 63918e6bdf Fix login panel losing entered username if user couldn't be authenticated
Need to work around a issue introduced with MAINT-7835. Due to the way the Firestorm
version of the login panel is initialized, setFields() will be called as part of
the panel ctor (via updateServer()), so that the values of the credential textboxes
will never be set when they actually should be
2017-10-25 19:48:47 +02:00
Ansariel 8751063f58 FIRE-21301: Updated OSSL script library by Vincent Sylvester 2017-10-24 09:57:15 +02:00
Beq c475a603c9 FIRE-21775 Editing any mesh removes the base type selection combo 2017-10-24 08:52:07 +01:00
Beq 33edbc8706 FIRE-21755 - Editing basic prims is b0rked 2017-10-19 16:31:58 +01:00
Ansariel 9971c42963 Surprise! Viewer wasn't using downloaded OpenSim script library files... 2017-10-18 14:36:40 +02:00
Ansariel 5882e388d3 FIRE-21745: Add osGetSimulatorMemoryKB OSSL script function 2017-10-18 13:33:29 +02:00
Ansariel 026183c428 FIRE-21754 / MAINT-7910: Last appearance floater tab not remembered if floater isn't opened during a session 2017-10-18 13:27:55 +02:00
Ansariel 01a594a50b Small improvement to inventory floater for AnsaStorm skin 2017-10-17 10:27:53 +02:00
PanteraPolnocy aeb0e70324 Updated Polish translation 2017-10-15 11:56:50 +02:00
Kitty Barnett b00f70435b [FIXED] Clicking between the world and the inventory floater freezes the viewer
The dynamic_cast is *really* expensive here for >100k inventory items (up to 2s
freezes and there is a virtual function available to get the same information
much faster.
2017-10-11 17:43:13 +02:00
Ansariel 4805bc47de FIRE-21739: Inventory restarts filter when detaching attachments 2017-10-14 11:45:05 +02:00
Mnikolenko Productengine 15f3cd4fbd MAINT-7890 Floater position drifts across logins after snapping to another floater 2017-10-13 17:54:32 +03:00
Kitty Barnett 7758a2c342 [FIXED] Access (read) violation using a LLVivoxVoiceClient::sessionState() after it's been free'ed
The shared pointer is passed by reference to LLVivoxVoiceClient::deleteSession() where
mSessionsByHandle.erase(iter) removes the last reference causing it to destruct while still
being accessed later on in the function.
2017-10-12 22:46:11 +02:00
Kitty Barnett 1a676b2882 [FIXED] Access (write) violation / buffer overrun in LLTextureFetchWorker::doWork()
The trouble lines are:
			U8 * buffer = (U8 *) ALLOCATE_MEM(LLImageBase::getPrivatePool(), total_size);
			if (cur_size > 0)
			{
				memcpy(buffer, mFormattedImage->getData(), cur_size);
			}

If 'cur_size > mHttpReplyOffset + append_size' then 'total_size -= src_offset' will cause
total_size to be smaller than cur_size causing a write access violation on the memcpy.

Since the response is invalid it seemed best to make it follow the other failed partial condition.
2017-10-12 22:55:15 +02:00
Ansariel b28834706c [FIXED] Access (read) violation on LLFloater::mFrontChild; by Kitty Barnett 2017-10-14 11:41:19 +02:00
Kitty Barnett 63b4bba2d3 [FIXED] Access (read) violation using an LLViewerRegion after it's been freed
This occurred after tp'ing away and after the region was already free'ed: in LLHUDManager::updateEffects()
the hud effect is actually not dead yet; update() gets called, detects that the source object is actually
marked dead so calls markDead() itself which releases the held pointer reference to LLVOAvatar which then
finally calls its destructor which calls getRegion() on a region which has already been free'ed creating
a read access violation.

Callstack (from a release build so optimizations obscure things a bit):
  LLVOAvatar::logMetricsTimerRecord()
  LLVOAvatar::logPendingPhases()
  LLVOAvatar::~LLVOAvatar()
  [External Code]
  LLPointer<LLViewerObject>::unref()
  LLHUDEffectLookAt::markDead()
  LLHUDManager::updateEffects()
  display()
  LLAppViewer::frame()
  WinMain()
2017-10-12 22:55:15 +02:00
Beq 0a4243e7a6 fix over qualified copy/paste silliness 2017-10-12 19:27:38 +01:00
Beq c03d071ffe Addition to allow the mesh info display where object perms are no mod 2017-10-12 14:54:08 +01:00
Ansariel 001f94ccc8 Pull changes for new "UserInfo" cap and verified email check 2017-10-12 15:38:49 +02:00
Ansariel fd61adc252 Remove duplicate item in Notifications.xml 2017-10-12 12:52:12 +02:00
Ansariel 1c3d7c6474 Update German translation 2017-10-12 10:55:46 +02:00
Ansariel e181912a81 Add NULL checks 2017-10-12 10:10:50 +02:00
Ansariel 8a590c07c1 Remove obsolete setting FSSyncronizeTextureMaps 2017-10-12 09:21:38 +02:00
Beq e47355c008 FIRE-21445 Show specific LOD in edit + New Mesh Information on Object panel 2017-10-12 00:10:11 +01:00
Ansariel 9b54bbfd77 Merge Firestorm LGPL 2017-10-11 16:58:01 +02:00
Ansariel 735cfd8dd2 Merge viewer-release 2017-10-11 16:44:59 +02:00
Ansariel d2d8e4a770 FIRE-21306: Fix "broken" water in deferred rendering using the same specular and normal fragment color values as Alchemy viewer which are apparently needed for the water glow fix 2017-10-11 16:38:10 +02:00
Oz Linden b6d22de588 increment viewer version to 5.0.9 2017-10-11 09:10:47 -04:00