Skip to content

Release/2025.04 #3861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 145 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
99a9258
Issue #2687: Honor flag sent by server indicating server side autopil…
Rider-Linden Sep 26, 2024
81df047
Private Issue #297: Accept new flags in ScriptTeleportRequest message…
Rider-Linden Oct 14, 2024
3dc945c
Private Issue #297: Code review feedback.
Rider-Linden Oct 14, 2024
7cd50ce
Issue #2907: Process metadata sent along with chats of type IM_NOTHIN…
Rider-Linden Oct 21, 2024
a097f88
Issue #2907: Code review comments.
Rider-Linden Oct 23, 2024
48ccb0f
Issue #2907: When passing the injected notification message into addM…
Rider-Linden Oct 25, 2024
09af45d
Server Issue #1493: New notification message for llTransferOwnership.
Rider-Linden Nov 9, 2024
ea79f8f
Merge pull request #3624 from secondlife/rider/map_beacon
Geenz Mar 1, 2025
8c671a0
Merge pull request #3623 from secondlife/rider/server_autopilot
Geenz Mar 1, 2025
5aa359e
Merge pull request #3626 from secondlife/rider/transfer_message
Geenz Mar 1, 2025
5d78ff4
Merge pull request #3634 from secondlife/release/2024.12-ForeverFPS
Geenz Mar 1, 2025
37b2606
Merge pull request #3686 from secondlife/main
Geenz Mar 6, 2025
942527d
**fix: Correctly update shadows on RenderShadowResolutionScale change**
williamweaver Mar 11, 2025
76db64e
Fixes: Add guard to prevent shadow texture resize with invalid mRT di…
williamweaver Mar 12, 2025
1a92e39
message_template.msg to agree with master-message-template
AndrewMeadows Mar 17, 2025
f462037
Merge pull request #3760 from secondlife/leviathan/update-message-tem…
Geenz Mar 18, 2025
969ed53
Merge branch 'release/2025.03' into release/2025.04
akleshchev Mar 18, 2025
53c3176
#3661 Clamp water blur multiplier
akleshchev Mar 18, 2025
ed6f939
#3771 Fix unresolved HOSTIP parameter
akleshchev Mar 19, 2025
28638b3
#3762 Remove incorrect resolution specification
akleshchev Mar 19, 2025
5608c39
viewer#2270 The "More" button does not close the "Choose emoji" floater
akleshchev Oct 8, 2024
bf0767b
viewer#2894 Make PBR scale like Blinn Phong does
akleshchev Oct 28, 2024
423df2b
prevent erroneous edit of wrong parcel (#3759)
AndrewMeadows Mar 21, 2025
ecfe76a
vp#404 Improve URL filter
akleshchev Mar 21, 2025
b86c36e
Merge remote-tracking branch 'remotes/origin/develop' into rider/bot_…
Rider-Linden Mar 25, 2025
e452084
Merge pull request #3625 from secondlife/rider/bot_tattle
Rider-Linden Mar 25, 2025
1e2d4d3
Added QA workflow file
AtlasLinden Mar 26, 2025
7d58d46
Merge pull request #3818 from secondlife/atlas-qaworkflow
Geenz Mar 26, 2025
51f5b85
Removed unnecessary comments in QA workflow file
AtlasLinden Mar 27, 2025
571e33c
Merge pull request #3821 from secondlife/atlas-qaworkflow
AtlasLinden Mar 27, 2025
e185772
Merge branch 'secondlife:develop' into fix/shadow-resolution-update
williamweaver Mar 27, 2025
0a39fe8
Allow QA workflow to run on Second_Life_X branches
AtlasLinden Mar 27, 2025
e1ebb33
fix(pipeline): Remove incorrect zeroing of mRT dimensions in createGL…
williamweaver Mar 28, 2025
c555d23
Merge pull request #3832 from secondlife/atlas-qaworkflow
AtlasLinden Mar 28, 2025
b1822e3
#3784 Increase texture scale boundaries
akleshchev Mar 27, 2025
b9015dc
Merge branch 'develop' into fix/shadow-resolution-update
Geenz Mar 29, 2025
6110028
Merge pull request #3719 from williamweaver/fix/shadow-resolution-update
Geenz Mar 29, 2025
8d5dab9
#3809 Fix J2C Upload
akleshchev Mar 28, 2025
fcc8ffd
#3809 Partial revert of "Fix J2C Upload"
akleshchev Mar 31, 2025
515c1f1
#3044 Add option to hide L$ balance for Snapshots with Interface showing
maxim-productengine Mar 31, 2025
c609a45
secondlife/viewer#912 BugSplat Crash 1412267 (missed refactoring for …
LLGuru Apr 17, 2024
497c309
#912 Refactor FindModel()
marchcat Apr 1, 2025
945b965
Add file pattern and recursive directory processing fix_xml_indentati…
marchcat Apr 1, 2025
ccdcbfe
Merge branch 'release/2025.03' into release/2025.04
Geenz Apr 1, 2025
3c9bb9b
Merge branch 'release/2025.04' of https://github.com/secondlife/viewe…
Geenz Apr 1, 2025
3a03c5f
#3846 Crash at updateGLTFMaterials
akleshchev Apr 1, 2025
8c20662
#3712 CMakeFindFrameworks deprecation
akleshchev Apr 1, 2025
939817d
#3849 Crash at LLSelectMgr::updatePointAt
akleshchev Apr 1, 2025
04af042
Fix(EnvAdjust): Ensure cloud texture selection updates the sky
williamweaver Apr 1, 2025
61ba4b0
Fix(XUI): Remove unrecognized user_resize attribute from sun_moon_tra…
williamweaver Apr 2, 2025
be595b4
Fix(XUI): Resolve parsing warnings for Fixed Environment editor widgets
williamweaver Apr 2, 2025
f0ad01c
Merge branch 'fix/xui-parsing-fixes' of https://github.com/williamwea…
williamweaver Apr 2, 2025
d77954e
#3597 Improve error handling at LLGLSLShader::disableTexture()
marchcat Apr 1, 2025
db2c45b
#3857 pick new and updated LEAP functions from develop branch
maxim-productengine Apr 2, 2025
2bb4de9
Fix normal and specular repeats per meter scaling
Hecklezz Apr 2, 2025
498b244
# 3826 Physics Material Type does not update for linked objects
akleshchev Apr 2, 2025
46fca6f
#3857 second batch of new or updated LEAP functions
maxim-productengine Apr 3, 2025
dead3c1
#3857 teleport finished/failed event
maxim-productengine Apr 3, 2025
6ebd8a9
Merge pull request #3866 from secondlife/maxim/2025.04-3857
maxim-productengine Apr 3, 2025
01dc5ae
Merge pull request #3869 from secondlife/main
Geenz Apr 3, 2025
7c35a02
Merge branch 'secondlife:develop' into fix/cloud-texture-loading
williamweaver Apr 4, 2025
f2e7e30
#3868 Crash in updateHoveredState
akleshchev Apr 3, 2025
f795ad6
#3870 Crash at LLVOAvatarSelf::getJoint()
akleshchev Apr 3, 2025
68f20d5
#2702 Increase hover height's limit
akleshchev Apr 3, 2025
1fcabcd
Fix(EnvAdjust): Properly update sky after cloud texture selection
williamweaver Apr 4, 2025
be2e7e9
Merge pull request #3854 from williamweaver/fix/xui-parsing-fixes
Geenz Apr 4, 2025
2b475ad
#3878 Crash at LLPipeline::unlinkDrawable
akleshchev Apr 4, 2025
9aea5bb
#3876 sendLogoutRequest logging
akleshchev Apr 4, 2025
2da46c3
#3575 Clean up obsolete VRAM detectin logic
akleshchev Apr 1, 2025
0c056c7
#3575 Adjust VRAM budget test a bit
akleshchev Apr 1, 2025
cc54e20
#3575 Shrink draw distance when VRAM is very low
akleshchev Apr 1, 2025
f6a2dbe
#3627 std::bad_alloc when loading a model
akleshchev Apr 6, 2025
cfbcdd7
Fix: Remove potentially redundant RenderAutoHideSurfaceAreaLimit sett…
williamweaver Apr 7, 2025
a7f3785
#3873 Return back AudioLevelWind
akleshchev Apr 7, 2025
42dc450
Merge pull request #3853 from williamweaver/fix/cloud-texture-loading
Geenz Apr 9, 2025
c07817c
Fix(Tonemap): Correct blend logic to preserve HDR detail
williamweaver Apr 10, 2025
b95b20a
#3757 Allow subfolders in "My Outfits"
akleshchev Apr 8, 2025
1bb8fb2
#3757 Menu for subfodlers in outfits
akleshchev Apr 8, 2025
1c90421
#3596 Faster mesh thread shutdown
akleshchev Apr 9, 2025
2371994
#3757 Menu for subfodlers in outfits p2
akleshchev Apr 9, 2025
7dce74f
#3757 Move for subfodlers
akleshchev Apr 10, 2025
e43baa7
#1754 Restore land owners overlay
akleshchev Apr 11, 2025
d19d44c
Merge pull request #3911 from secondlife/main
Geenz Apr 15, 2025
822cc2a
Merge pull request #3896 from williamweaver/fix/tonemap-hdr-blend
Geenz Apr 15, 2025
293462d
Merge pull request #3883 from williamweaver/fix/remove-duplicate-rend…
Geenz Apr 15, 2025
7d36e71
#3757 Disable ability to create folders in individual outfits
akleshchev Apr 14, 2025
206f8d9
#3863 Ensure cloud texture selection updates the sky
akleshchev Apr 15, 2025
a99c1e3
#3887 Fix clouds not updating
akleshchev Apr 15, 2025
67921fa
#3922 out_of_range crash in preeditor
akleshchev Apr 16, 2025
2e4d2dd
#3627 Crash on texture cache init
akleshchev Apr 16, 2025
d65de99
Use standard library functions for llisnan and replace obvious NaN ch…
Ansariel Apr 17, 2025
441c844
Fix lerp issues on newer GCC versions
Ansariel Apr 17, 2025
4c6afbb
Restore llmath improvements from archived develop branch:
Ansariel Apr 17, 2025
c7ebde4
Merge pull request #3927 from Ansariel/develop-math-improvements
marchcat Apr 17, 2025
922cc94
Remove obsolete cmake_minimum_required that is lower than the require…
Ansariel Apr 17, 2025
a7e84c9
Restore currently entered text in chat entry textbox after going thro…
Ansariel Sep 25, 2024
698a301
Remove orphaned LLPanelOutfitSnapshotInventory
Ansariel Sep 25, 2024
0c380eb
Fix upload cost calculation for snapshots to inventory based on encod…
Ansariel Sep 25, 2024
85cf1d7
Remove incorrectly calculated upload fee from snapshot options button…
Ansariel Sep 25, 2024
67d1838
Force snapshot update when opening a snapshot panel and the resolutio…
Ansariel Sep 25, 2024
9c3ce3d
Clean up LLUI and fix/add suggestions from VS (#2746)
Ansariel Oct 2, 2024
c73fbed
Merge pull request #3929 from Ansariel/develop-cmake-deprecation-warning
Geenz Apr 17, 2025
2fb0abb
Merge pull request #3930 from Ansariel/develop-chatentry-improvement
Geenz Apr 18, 2025
37bbc6f
Merge pull request #3932 from Ansariel/develop-snapshot-fixes
Geenz Apr 18, 2025
c0ecfce
Merge pull request #3933 from Ansariel/develop-llui-improvements
Geenz Apr 18, 2025
f029903
Fix '1:angle_between' test failure
marchcat Apr 17, 2025
8c5d144
Fix llhttpdate test on windows and macos (#3909)
marchcat Apr 14, 2025
f6219fe
#3696 Crash at LLFontFreetype::addGlyphFromFont
akleshchev Apr 18, 2025
3d5f154
Fix llhttpdate test on windows and macos (#3909)
marchcat Apr 14, 2025
90c7684
#3758 add support for highlighted segments
maxim-productengine Apr 10, 2025
3e46d70
#3758 initial chat mention support
maxim-productengine Apr 18, 2025
4cccf8a
Restore missing 'override'
marchcat Apr 18, 2025
9a333e6
Merge develop into release/2025.04
akleshchev Apr 18, 2025
44bbdc5
#3488 Reduce locking
akleshchev Apr 21, 2025
87b6428
#3870 Added joint initialization for LLVOAvatarSelf
akleshchev Apr 21, 2025
b30283e
#3960 Fix expensive mesh thread score calculations
akleshchev Apr 22, 2025
6239647
#3962 allow Tab work the same way as picking name with Enter
maxim-productengine Apr 22, 2025
da2234a
#3952 insert @ name at the cursor position
maxim-productengine Apr 23, 2025
205b228
#3920 LLPanel::getString crash
akleshchev Apr 23, 2025
b1b0cdb
#3784 Increase gltf scale boundaries
akleshchev Apr 23, 2025
17561e2
#3758 show mention name in bubble chat
maxim-productengine Apr 23, 2025
89f8171
#3975 Crash at LLSpatialGroup::dirtyGeom
akleshchev Apr 24, 2025
d9468ec
#3758 disable editing of mention segment
maxim-productengine Apr 25, 2025
a7759f3
Merge branch 'release/2025.04' into 2025.04-chat-mention
maxim-productengine Apr 25, 2025
f450b42
post merge fix
maxim-productengine Apr 25, 2025
1eb34b4
#3758 clean up: move EUnderlineLink
maxim-productengine Apr 25, 2025
fb4925d
Increment viewer version after 2025.03
brad-linden Apr 25, 2025
25c11f0
Merge pull request #3981 from secondlife/brad/version-increments
brad-linden Apr 25, 2025
17e9746
Merge pull request #3943 from secondlife/maxim/2025.04-chat-mention
maxim-productengine Apr 25, 2025
8665cd3
#3986 Packet ring crash in memcpy
akleshchev Apr 25, 2025
69a81d6
#3982 Crash at getChild<LLScrollListCtrl>
akleshchev Apr 25, 2025
04c0bc1
#3978 Fix offset in Land Owner highlights
akleshchev Apr 28, 2025
1f3ba13
Attempt to fix qatest.yaml CodeQL issues (#3987)
brad-linden Apr 28, 2025
7bd18e2
viewerp#300 Fix inconsistency with copying textures vs pbr
akleshchev Apr 25, 2025
fdda524
#3791 check against alpha blending as a part of determining exclude w…
maxim-productengine Apr 28, 2025
d9e55c4
#3997 Crash in a gltf asset enabled region
akleshchev Apr 29, 2025
98078b9
#3748 Don't allow dropping material onto water exclusion surface
maxim-productengine Apr 30, 2025
a0cbf22
#4001 Bump cache version
akleshchev May 1, 2025
9ce012a
#4015 Restore formatting for strings.xml and teleport_strings.xml tra…
marchcat May 3, 2025
929c9b2
#4009 Add color settings for chat mentions to Preferences
maxim-productengine May 5, 2025
fe0a4f4
#4027 Crash at adjustTexturesByScale
akleshchev May 5, 2025
9180a11
#4028 Crash at onEmojiPickerClosed
maxim-productengine May 5, 2025
b084d84
#4008 Fix media scale adjustments with pbr applied
akleshchev May 6, 2025
ed70509
Make builds support Python 3.13
akleshchev May 7, 2025
50108bf
#4011 Add conversation list highlight for chat mention
maxim-productengine May 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
qatest.yaml -text eol=crlf
174 changes: 174 additions & 0 deletions .github/workflows/qatest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
name: Run QA Test # Runs automated tests on a self-hosted QA machine
permissions:
contents: read
#pull-requests: write # maybe need to re-add this later

on:
workflow_run:
workflows: ["Build"]
types:
- completed

concurrency:
group: qa-test-run
cancel-in-progress: true # Cancels any queued job when a new one starts

jobs:
debug-workflow:
runs-on: ubuntu-latest
steps:
- name: Debug Workflow Variables
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
HEAD_COMMIT_MSG: ${{ github.event.workflow_run.head_commit.message }}
run: |
echo "Workflow Conclusion: ${{ github.event.workflow_run.conclusion }}"
echo "Workflow Head Branch: $HEAD_BRANCH"
echo "Workflow Run ID: ${{ github.event.workflow_run.id }}"
echo "Head Commit Message: $HEAD_COMMIT_MSG"
echo "GitHub Ref: ${{ github.ref }}"
echo "GitHub Ref Name: ${{ github.ref_name }}"
echo "GitHub Event Name: ${{ github.event_name }}"
echo "GitHub Workflow Name: ${{ github.workflow }}"

install-viewer-and-run-tests:
runs-on: [self-hosted, qa-machine]
# Run test only on successful builds of Second_Life_X branches
if: >
github.event.workflow_run.conclusion == 'success' &&
(
startsWith(github.event.workflow_run.head_branch, 'Second_Life')
)

steps:
- name: Temporarily Allow PowerShell Scripts (Process Scope)
run: |
Set-ExecutionPolicy RemoteSigned -Scope Process -Force

- name: Verify viewer-sikulix-main Exists
run: |
if (-Not (Test-Path -Path 'C:\viewer-sikulix-main')) {
Write-Host '❌ Error: viewer-sikulix not found on runner!'
exit 1
}
Write-Host '✅ viewer-sikulix is already available.'

- name: Fetch & Download Windows Installer Artifact
shell: pwsh
run: |
$BUILD_ID = "${{ github.event.workflow_run.id }}"
$ARTIFACTS_URL = "https://api.github.com/repos/secondlife/viewer/actions/runs/$BUILD_ID/artifacts"

# Fetch the correct artifact URL
$response = Invoke-RestMethod -Headers @{Authorization="token ${{ secrets.GITHUB_TOKEN }}" } -Uri $ARTIFACTS_URL
$ARTIFACT_NAME = ($response.artifacts | Where-Object { $_.name -eq "Windows-installer" }).archive_download_url

if (-Not $ARTIFACT_NAME) {
Write-Host "❌ Error: Windows-installer artifact not found!"
exit 1
}

Write-Host "✅ Artifact found: $ARTIFACT_NAME"

# Secure download path
$DownloadPath = "$env:TEMP\secondlife-build-$BUILD_ID"
New-Item -ItemType Directory -Path $DownloadPath -Force | Out-Null
$InstallerPath = "$DownloadPath\installer.zip"

# Download the ZIP
Invoke-WebRequest -Uri $ARTIFACT_NAME -Headers @{Authorization="token ${{ secrets.GITHUB_TOKEN }}"} -OutFile $InstallerPath

# Ensure download succeeded
if (-Not (Test-Path $InstallerPath)) {
Write-Host "❌ Error: Failed to download Windows-installer.zip"
exit 1
}

- name: Extract Installer & Locate Executable
shell: pwsh
run: |
# Explicitly set BUILD_ID again (since it does not appear to persist across steps)
$BUILD_ID = "${{ github.event.workflow_run.id }}"
$ExtractPath = "$env:TEMP\secondlife-build-$BUILD_ID"
$InstallerZip = "$ExtractPath\installer.zip"

# Print paths for debugging
Write-Host "Extract Path: $ExtractPath"
Write-Host "Installer ZIP Path: $InstallerZip"

# Verify ZIP exists before extracting
if (-Not (Test-Path $InstallerZip)) {
Write-Host "❌ Error: ZIP file not found at $InstallerZip!"
exit 1
}

Write-Host "✅ ZIP file exists and is valid. Extracting..."

Expand-Archive -Path $InstallerZip -DestinationPath $ExtractPath -Force

# Find installer executable
$INSTALLER_PATH = (Get-ChildItem -Path $ExtractPath -Filter '*.exe' -Recurse | Select-Object -First 1).FullName

if (-Not $INSTALLER_PATH -or $INSTALLER_PATH -eq "") {
Write-Host "❌ Error: No installer executable found in the extracted files!"
Write-Host "📂 Extracted Files:"
Get-ChildItem -Path $ExtractPath -Recurse | Format-Table -AutoSize
exit 1
}

Write-Host "✅ Installer found: $INSTALLER_PATH"
echo "INSTALLER_PATH=$INSTALLER_PATH" | Out-File -FilePath $env:GITHUB_ENV -Append

- name: Install Second Life Using Task Scheduler (Bypass UAC)
shell: pwsh
run: |
$action = New-ScheduledTaskAction -Execute "${{ env.INSTALLER_PATH }}" -Argument "/S"
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
$task = New-ScheduledTask -Action $action -Principal $principal
Register-ScheduledTask -TaskName "SilentSLInstaller" -InputObject $task -Force
Start-ScheduledTask -TaskName "SilentSLInstaller"

- name: Wait for Installation to Complete
shell: pwsh
run: |
Write-Host "Waiting for the Second Life installer to finish..."
do {
Start-Sleep -Seconds 5
$installerProcess = Get-Process | Where-Object { $_.Path -eq "${{ env.INSTALLER_PATH }}" }
} while ($installerProcess)

Write-Host "✅ Installation completed!"

- name: Cleanup Task Scheduler Entry
shell: pwsh
run: |
Unregister-ScheduledTask -TaskName "SilentSLInstaller" -Confirm:$false
Write-Host "✅ Task Scheduler entry removed."

- name: Delete Installer ZIP
shell: pwsh
run: |
# Explicitly set BUILD_ID again
$BUILD_ID = "${{ github.event.workflow_run.id }}"
$DeletePath = "$env:TEMP\secondlife-build-$BUILD_ID\installer.zip"

Write-Host "Checking if installer ZIP exists: $DeletePath"

# Ensure the ZIP file exists before trying to delete it
if (Test-Path $DeletePath) {
Remove-Item -Path $DeletePath -Force
Write-Host "✅ Successfully deleted: $DeletePath"
} else {
Write-Host "⚠️ Warning: ZIP file does not exist, skipping deletion."
}

- name: Run QA Test Script
run: |
Write-Host "Running QA Test script..."
python C:\viewer-sikulix-main\runTests.py

# - name: Upload Test Results
# uses: actions/upload-artifact@v3
# with:
# name: test-results
# path: C:\viewer-sikulix-main\regressionTest\test_results.html
1 change: 0 additions & 1 deletion indra/cmake/Linking.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ elseif (WINDOWS)
legacy_stdio_definitions
)
else()
include(CMakeFindFrameworks)
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
find_library(CARBON_LIBRARY Carbon)
find_library(COCOA_LIBRARY Cocoa)
Expand Down
2 changes: 1 addition & 1 deletion indra/cmake/Python.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ elseif (WINDOWS)
foreach(hive HKEY_CURRENT_USER HKEY_LOCAL_MACHINE)
# prefer more recent Python versions to older ones, if multiple versions
# are installed
foreach(pyver 3.12 3.11 3.10 3.9 3.8 3.7)
foreach(pyver 3.13 3.12 3.11 3.10 3.9 3.8 3.7)
list(APPEND regpaths "[${hive}\\SOFTWARE\\Python\\PythonCore\\${pyver}\\InstallPath]")
endforeach()
endforeach()
Expand Down
6 changes: 0 additions & 6 deletions indra/doxygen/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
# -*- cmake -*-

# cmake_minimum_required should appear before any
# other commands to guarantee full compatibility
# with the version specified
## prior to 2.8, the add_custom_target commands used in setting the version did not work correctly
cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR)

set(ROOT_PROJECT_NAME "SecondLife" CACHE STRING
"The root project/makefile/solution name. Defaults to SecondLife.")
project(${ROOT_PROJECT_NAME})
Expand Down
8 changes: 4 additions & 4 deletions indra/llappearance/llpolymorph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -550,12 +550,12 @@ void LLPolyMorphTarget::apply( ESex avatar_sex )

mLastSex = avatar_sex;

// Check for NaN condition (NaN is detected if a variable doesn't equal itself.
if (mCurWeight != mCurWeight)
// Check for NaN condition
if (llisnan(mCurWeight))
{
mCurWeight = 0.0;
mCurWeight = 0.f;
}
if (mLastWeight != mLastWeight)
if (llisnan(mLastWeight))
{
mLastWeight = mCurWeight+.001f;
}
Expand Down
Loading
Loading