Skip to content
Draft
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
566 commits
Select commit Hold shift + click to select a range
4faebc0
#4109 Remove workaround code
marchcat May 24, 2025
3eab945
#4109 Refactor LLGLTFLoader::populateModelFromMesh()
marchcat May 24, 2025
e8eac13
#4109 Refactor LLGLTFLoader::populateModelFromMesh() #2
marchcat May 24, 2025
83fa366
#4109 Fix inside-out geometry from negative scale transforms in GLTF …
marchcat May 24, 2025
d6419f7
#4109 Fix GLTF model extents calculation
marchcat May 24, 2025
b423900
#4105 Fix duplicate GLTF model instances causing upload errors
marchcat May 25, 2025
d342aa7
#4080 Rigged mesh support #3
akleshchev May 26, 2025
a364b5e
#4109 Add validation for non-triangulated geometry in GLTF loader
marchcat May 26, 2025
d9d8008
#4080 Rigged mesh support #4
akleshchev May 26, 2025
3f0aa33
#4109 Improve LLGLTFLoader::computeCombinedNodeTransform()
marchcat May 26, 2025
aeefc73
Add font buffer resetting in LLLineEditor.clear() (#4159)
Hecklezz May 27, 2025
0d99487
#4107 upload the model ignoring unsupported extension
maxim-productengine May 27, 2025
ab13373
#4157 Improve "Unable to upload material" error message
marchcat May 27, 2025
078cc9b
#4080 Rigged mesh support #5
akleshchev May 26, 2025
ea75bfd
Implement support for PRIM_MEDIA_FIRST_CLICK_INTERACT and autoplay fo…
DarlCat Apr 25, 2025
fe4f85e
Merge remote-tracking branch 'origin/main' into geenz/2025.04-to-develop
Geenz May 28, 2025
4c60231
#4080 Rigged mesh support #6
akleshchev May 28, 2025
0dbf2b4
#4080 Fix gltf crash when opening
akleshchev May 28, 2025
d3bd73a
Merge branch 'main' into marchcat/slua-editor-merge
marchcat May 28, 2025
b08ba3f
Merge branch 'main' into marchcat/2505-merge
marchcat May 28, 2025
3375fb1
Merge pull request #4182 from secondlife/main
marchcat May 28, 2025
91adb11
Merge pull request #4183 from secondlife/marchcat/2505-merge
marchcat May 28, 2025
9602397
Merge pull request #4181 from secondlife/marchcat/slua-editor-merge
marchcat May 28, 2025
6f98834
Remove duplicated code (#4187)
Ansariel May 29, 2025
2d0f9e4
#3367 Fix post-merge regression
marchcat May 29, 2025
6c394f0
Enable the all MOAP option, forgot that was blocked out.
DarlCat May 29, 2025
be40d20
#4190 provide unsupported extension info in log
maxim-productengine May 29, 2025
136149d
#4191 skip loading model compressed with Draco
maxim-productengine May 30, 2025
bd7e79d
#4191 Crash opening a gltf model
akleshchev May 30, 2025
7aea88f
Use awk to make PV channel name
marchcat May 29, 2025
39625d1
Revert back to currently shipping release.
Geenz May 31, 2025
c88f5d2
Merge pull request #4176 from secondlife/geenz/2025.04-to-develop
Geenz May 31, 2025
6291e86
Adds missing ambient color blending to day cycle
Hecklezz May 28, 2025
4ae9b7b
#4203 show valid log info about 16 bit limit
maxim-productengine Jun 2, 2025
b322b3f
#4097 Fix crash in LLGLTFLoader::populateModelFromMesh()
marchcat Jun 3, 2025
acd4de6
#4080 Rigged mesh support #7
akleshchev Jun 3, 2025
11ece68
#4214 Support mesh splitting for meshes with more than 8 materials
akleshchev Jun 4, 2025
08f6f5c
#4214 Weights and Joints remap
akleshchev Jun 4, 2025
8dd3955
Merge pull request #4140 from secondlife/atlas-qaworkflow
AtlasLinden Jun 5, 2025
74d9908
#4214 Fix material upload
akleshchev Jun 5, 2025
2c35cdd
Follow-up fix for bb9adf3: Pressing enter while location spinners hav…
Ansariel Jun 6, 2025
3539852
Fix split model vertex/joint remapping to use correct model variable
marchcat Jun 9, 2025
689b829
#4170 Fix GLTF import missing mesh parts from transform tools
marchcat Jun 9, 2025
6924862
#4170 Follow-up: Optimize GLTF node hierarchy traversal
marchcat Jun 9, 2025
b20d10c
#4148 Skeleton Translation
akleshchev Jun 4, 2025
b4fb66c
#4170 Use GLTF scene definition for node traversal
marchcat Jun 9, 2025
4c529c8
Fix fast cache ignoring its time constraint (#4237)
Ansariel Jun 10, 2025
3c7dde5
Require PR descriptions (#4233)
bennettgoble Jun 10, 2025
4bbd631
#4148 Skeleton Translation #2
akleshchev Jun 10, 2025
b3fd05f
#4114 Improve GLTF mesh uploader log
marchcat Jun 10, 2025
41ef5b2
Resolve qatest.yaml invalid workflow error
AtlasLinden Jun 10, 2025
a0be1e7
macOS 26 build changes (#4239)
Geenz Jun 10, 2025
86a8f5a
Fixed adding skies to day cycle by ensuring mAbsorptionConfigs, mMieC…
Hecklezz Jun 7, 2025
fe10a83
#4214 Weights and Joints remap #2
akleshchev Jun 10, 2025
db95731
#4148 Skeleton Translation #3
akleshchev Jun 10, 2025
98abff9
#4248 Add safety checks to LLMeshSkinInfo::asLLSD()
marchcat Jun 10, 2025
48eb8a2
#4147 Joint override
maxim-productengine Jun 10, 2025
1132b19
#4114 Improve GLTF mesh uploader log 2
marchcat Jun 11, 2025
26adfd9
Resolve qatest.yaml invalid workflow error #4244
AtlasLinden Jun 11, 2025
2df0043
#4149 Empty Outfit folders cannot be moved
akleshchev May 23, 2025
03fa606
Crash at LLVOVolume::isAnimatedObject
akleshchev May 21, 2025
b8cc1f7
#4173 Crash at LLViewerInventoryItem::updateServer
akleshchev May 28, 2025
e2c76ec
#4147 Move mAlternateBindMatrices
akleshchev Jun 11, 2025
03b6d09
Use windows-latest runner for sign-and-package-windows (#4263)
marchcat Jun 12, 2025
8322a9a
#4147 Joint Overrides #2
akleshchev Jun 12, 2025
54660c8
#4147 Joint Overrides #3
akleshchev Jun 13, 2025
46aeaf4
#4242 Support splitting of gltf faces that are over 16bit limit
akleshchev Jun 17, 2025
bb45bfa
#4204 Fix GLTF texture loading to match DAE loader behavior
marchcat Jun 18, 2025
68dc091
#4204 Don't show material editor with model loader
marchcat Jun 18, 2025
5099401
#4204 Log embedded texture extraction failure
marchcat Jun 18, 2025
5bc9232
#4250 Crash uploading a dae model
akleshchev Jun 18, 2025
f532030
#4214 Revert and remake "weights remap"
akleshchev Jun 19, 2025
2083e65
#4204 Unused code cleanup (#4278)
marchcat Jun 19, 2025
1a6e328
#4204 Remove more unused code
marchcat Jun 19, 2025
feb4494
Fix loading name of banned residents in group bulk ban panel
Ansariel Jun 19, 2025
9e87757
#4257 Use filename as model initial name
marchcat Jun 23, 2025
781d9fa
Use latest release for changelog
marchcat May 31, 2025
c404b93
#4148 Fix collision bones
akleshchev Jun 24, 2025
4a40eaa
#4142 Add missed message
akleshchev Jun 24, 2025
e15a892
Merge pull request #4177 from DarlCat/hud-media-autoplay
Geenz Jun 25, 2025
8c9d0c6
#4142 Joint grouping and stripping
akleshchev Jun 25, 2025
895db14
#4291 Uploading without a .bin silently fails
akleshchev Jun 26, 2025
4bc20a8
#4184 clearAndDeparentModels crash
akleshchev Jun 26, 2025
9235312
#4298 Crash at generateVertexRemapMulti
akleshchev Jun 27, 2025
86cc076
#4300 Crash at readProfileQuery
akleshchev Jun 27, 2025
1557443
First pass at adding expanded frametiming stats to the viewer.
Geenz Jun 27, 2025
e2227b9
Make sure to reset the metrics after the first calculation.
Geenz Jun 27, 2025
db49947
Merge pull request #4302 from secondlife/geenz/frametime-metric-impro…
Geenz Jun 27, 2025
5888ae9
Fixes for first click moap
WolfGangS Jun 27, 2025
e4f2ed3
Make sure all moap option, includes 'all'
WolfGangS Jun 27, 2025
e3ce14d
Fix enum option name
WolfGangS Jun 27, 2025
6ce487f
Add helper functions.
Geenz Jun 27, 2025
45ca7fc
Merge pull request #4305 from secondlife/geenz/frametime-metric-impro…
Geenz Jun 27, 2025
6dd8a02
Merge branch 'project/gltf_mesh_import' into geenz/develop-to-gltf-mesh
Geenz Jun 27, 2025
13a8e3b
Reviewed changes
WolfGangS Jun 27, 2025
26e0ae1
Merge branch 'develop' into geenz/develop-to-gltf-mesh
Geenz Jun 27, 2025
480eae5
Merge branch 'develop' into media-first-click-fixes
Geenz Jun 27, 2025
2fdca60
Merge pull request #4304 from WolfGangS/media-first-click-fixes
Geenz Jun 27, 2025
ef7bfa5
Restore glTF mesh modifications.
Geenz Jun 27, 2025
6693fd0
Merge branch 'develop' into geenz/develop-to-gltf-mesh
Geenz Jun 27, 2025
a50a0e1
Fix LLCharacter base class constness.
Geenz Jun 27, 2025
f48fe44
Merge pull request #4306 from secondlife/geenz/develop-to-gltf-mesh
Geenz Jun 28, 2025
b0c951f
Revert "Merge develop into glTF mesh import"
Geenz Jun 28, 2025
7a06abe
Merge pull request #4307 from secondlife/revert-4306-geenz/develop-to…
Geenz Jun 28, 2025
06a9e45
Merge pull request #4308 from secondlife/geenz/develop-to-gltf-mesh
Geenz Jun 28, 2025
75db5e8
Revert "Fix LLCharacter base class constness." and restore improvemen…
Ansariel Jun 28, 2025
bca9ba9
Merge pull request #4310 from Ansariel/gltf-import-revert-getjoint
Geenz Jun 28, 2025
64b56d7
#4190 Provide unsupported extension info in log file
maxim-productengine Jul 1, 2025
fcd9a9e
#4242 Better issue logging
akleshchev Jul 1, 2025
230a8ca
private#435 Update GLTF Mesh Import's version to 7.2
akleshchev Jul 1, 2025
76dd938
#4315 Crash in GLTF uploader
akleshchev Jul 1, 2025
900516a
#4142 Fix missed index
akleshchev Jul 1, 2025
b79feb6
#4242 Clarify some operations
akleshchev Jul 2, 2025
c58caf6
Create pull_request_template.md
bennettgoble Jul 2, 2025
55a79ec
#4313 Improved naming of textures
maxim-productengine Jul 2, 2025
618b2da
Merge pull request #4328 from secondlife/signal/pr-template
bennettgoble Jul 2, 2025
2e1d8c3
Fix link in pull_request_template.md (#4329)
bennettgoble Jul 2, 2025
de73d0f
Merge pull request #4311 from WolfGangS/media-first-click-fixes-2
WolfGangS Jul 2, 2025
5a0bbdc
#4242 Debug dump improvement
akleshchev Jul 2, 2025
10b787e
#4322 Upload Model button is sometimes disabled
akleshchev Jul 2, 2025
f1701d3
#4242 Make sure group array is initialized
akleshchev Jul 3, 2025
dd41001
#4334 Crash at getIsDynamic
akleshchev Jul 3, 2025
ecf220f
#4242 Debug dump improvement #2
akleshchev Jul 3, 2025
b6343d4
#4323 fix for transparent meshes
maxim-productengine Jul 4, 2025
6e65c38
#4319 Thread crashes not being reported to bugsplat
akleshchev Jul 7, 2025
b7dbe0e
#4290 Unresponsive viewer when uploading models
akleshchev Jul 7, 2025
60425f6
#4314 Fix model suffixes
akleshchev Jul 8, 2025
5a8b94b
#4324 sort indices before splits
maxim-productengine Jul 9, 2025
e77e74f
#4314 Follow-up: duplicate logic for mSubmodelID
marchcat Jul 8, 2025
edaf157
#4314 Fix model suffixes #2
akleshchev Jul 9, 2025
0bb0d3e
Add mac runner
AtlasLinden Jul 9, 2025
58420b8
#4339 World Map Find button shouldn't autocomplete
akleshchev Jul 9, 2025
8c6e766
Adjust mac artifact name
AtlasLinden Jul 9, 2025
19ffeb6
#4357 Crash in LLMeshRepoThread::lodReceived
akleshchev Jul 9, 2025
3da4932
#4296 Crash at renderMorphMasks
akleshchev Jul 9, 2025
7b4cdd3
Adjust permission before copying app
AtlasLinden Jul 9, 2025
9533232
Mount dmg to new /Volumes
AtlasLinden Jul 9, 2025
c8f6eb0
Remove whitespace
AtlasLinden Jul 9, 2025
8fe51b3
Adjusting dmg mount point
AtlasLinden Jul 9, 2025
210abc3
#4349 fix repeats cannot be adjusted for specular when a normal map i…
maxim-productengine Jul 10, 2025
239a9c7
Removing previous permission "fix"
AtlasLinden Jul 10, 2025
450d4d7
New copy app command
AtlasLinden Jul 10, 2025
2f77cd0
Remove --no-xattrs option
AtlasLinden Jul 10, 2025
c70875e
Redirecting viewer installation to Application directory
AtlasLinden Jul 10, 2025
db5af31
Remove previously installed viewer
AtlasLinden Jul 10, 2025
9cc5c07
New method to handle removing previous viewer
AtlasLinden Jul 10, 2025
2e931a5
#3725 Improve reporting of avatar statistics
akleshchev Jul 10, 2025
c488919
#4267 Offline messages not being requested
akleshchev Jul 10, 2025
8daa59c
#4267 Offline messages not being requested #2
akleshchev Jul 11, 2025
07d0fbe
#4294 Make upload order more deterministic
akleshchev Jul 11, 2025
63134f7
#4204 Cache processed materials
marchcat Jul 14, 2025
d033bba
#4204 Refactor material name and texture handling in GLTF loader
marchcat Jul 14, 2025
621be9c
#4365 Fix emoji hitboxes in the emoji history list in the IM floater …
Hecklezz Jul 14, 2025
5a50be4
#4294 Make upload order more deterministic #2
akleshchev Jul 14, 2025
b046a8b
#4204 Cache material names, centralize texture index validation
marchcat Jul 15, 2025
268ec1f
#4283 fix for missing items in 'My Outfits' floater
maxim-productengine Jul 15, 2025
b849e00
#4349 fix repeats cannot be adjusted for specular when a normal map i…
maxim-productengine Jul 16, 2025
f97ae3c
Merge pull request #4354 from secondlife/atlas-qaworkflow
AtlasLinden Jul 16, 2025
be04175
#4358 Fix 'Microphone in use' task bar icon
akleshchev Jul 15, 2025
7a33f22
#4353 abbreviate text label for standard deviation
maxim-productengine Jul 16, 2025
dcd9d36
#3964 Don't spawn CEF instances for the build tools
akleshchev Jul 16, 2025
211b6c6
#4337 Full Screen debug setting on MacOS results in a black screen
akleshchev Jul 16, 2025
6e186be
Reapply "Merge develop into glTF mesh import"
akleshchev Jul 17, 2025
af3ef42
Merge branch 'develop' into gltf_mesh_import
akleshchev Jul 17, 2025
33bc6ed
Merge pull request #4380 from secondlife/andreyk/gltf_mesh_import
akleshchev Jul 17, 2025
3f54312
Add support for frametime events per minute.
Geenz Jul 17, 2025
f5d350f
Merge pull request #4381 from secondlife/geenz/frametime-events-per-m…
Geenz Jul 17, 2025
590ad67
#4047 fix 'Show on Map' command for parcel URI links
maxim-productengine Jul 17, 2025
e2decee
#4283 fix for missing items in 'My Outfits' floater
maxim-productengine Jul 17, 2025
3806c35
#4216 Pressing cancel on picker reverts an override
akleshchev Jul 17, 2025
8efc474
#4370 Fix change in crouch behaviour
akleshchev Jul 18, 2025
4b69fe3
#4320 MacOS crash handling
akleshchev Jul 19, 2025
8df303e
#4399 Crash at load_face_from_dom_triangles
akleshchev Jul 21, 2025
d848979
#4318 Warn or log when texture gets scaled down
akleshchev Jul 21, 2025
08971cd
Fix a crash bug and bogus calculations in LLMeshRepoThread::lodReceiv…
vldevel Jul 22, 2025
472ea3b
#4393 Handle unknown exceptions in uploader better
akleshchev Jul 22, 2025
0c89d06
#4374 add support for the system theme (light and dark)
maxim-productengine Jul 23, 2025
e05b32a
#4400 Model Import "use lod above" was not updating
akleshchev Jul 22, 2025
84c62de
#4209 Outfits should have an "Add to Favorites" option
akleshchev Jul 23, 2025
9df3b30
#4424 don't try to update theme too early
maxim-productengine Jul 23, 2025
f80d62e
#3851 Increase cache size
akleshchev Jul 23, 2025
5c746ae
#4415 fix crash when cancelling large model process on MacOS
maxim-productengine Jul 24, 2025
5d4e2c9
#3969 Log time it takes to create inventory from cache
akleshchev Jul 24, 2025
210f559
Media first click interact self check fix (#4406, #4426)
DarlCat Jul 25, 2025
af507ce
Merge branch 'main' into release/2025.05
Geenz Jul 25, 2025
0c39bdf
Merge pull request #4442 from secondlife/geenz/main-to-2025.05
Geenz Jul 25, 2025
5291fc2
#4374 update icon for title bar
maxim-productengine Jul 25, 2025
c4204a9
Media first click interact large number value fix
DarlCat Jul 24, 2025
6ed9974
Fix incorrectly calculated number in comment and where it was referenced
DarlCat Jul 24, 2025
31f8ebf
Update test plan to match current functionality per suggested/request…
DarlCat Jul 25, 2025
632bcd3
Add media request to pull_request_template.md (#4440)
bennettgoble Jul 26, 2025
afdcd35
Add "what to work on" to CONTRIBUTING.md (#4422)
bennettgoble Jul 26, 2025
533390a
2k image resize (#4444)
FelixWolf Jul 26, 2025
b82f52a
Remove the first login screen (#4451)
FelixWolf Jul 28, 2025
329e71a
#3969 Log time it takes to create inventory from cache
akleshchev Jul 24, 2025
3b8b408
#3969 Make inventory creation from cache faster
akleshchev Jul 25, 2025
4799f2e
Media first click interact group check fix
DarlCat Jul 24, 2025
a588add
Media first click interact friend check fix
DarlCat Jul 24, 2025
288bce1
#4455 Division by zero in updateFrameStats
akleshchev Jul 28, 2025
792a38b
#3705 Add an option to hide the $L balance
akleshchev Jul 28, 2025
514b658
#4385 show agent name next to @ mention url in chat logs
maxim-productengine Jul 29, 2025
87fa994
Add option to disable selection hints
FelixWolf Jul 27, 2025
82477c4
Add ability to disable look at hints
FelixWolf Jul 27, 2025
eb9c83c
Initial limit look at distance code
FelixWolf Jul 28, 2025
6c0e19c
Expose lookat and selection hint privacy settings
FelixWolf Jul 28, 2025
5c8fdad
Fix formatting issue caused by VS again
FelixWolf Jul 28, 2025
5785bfd
Fix look at target privacy causing head to get stuck
FelixWolf Jul 28, 2025
0a3c022
Let's do 2m distance instead of 4m
FelixWolf Jul 28, 2025
c7baab3
This should be off by default
FelixWolf Jul 28, 2025
aae33e4
It's a target, not a hint
FelixWolf Jul 28, 2025
38a6a4b
Fix spelling issue in settings.xml
FelixWolf Jul 28, 2025
c9aae54
Add tool tips to the new privacy features
FelixWolf Jul 29, 2025
2c91aed
Add explaination as to why we do clearing inside effect set* functions
FelixWolf Jul 29, 2025
afe5d29
#4460 debug text cannot be scrolled
akleshchev Jul 29, 2025
afcc64c
Rich Presence support using Discord Social SDK (#4457)
erikkundiman Jul 31, 2025
a33fda4
#4339 Remade fix for world map's find button
akleshchev Jul 30, 2025
8240af0
#4465 modify vertex limit threshold for starting splitting
maxim-productengine Jul 31, 2025
7255933
#3785 Set default `MediaFirstClickInteract` value to 31 (Landowner ob…
marchcat Aug 2, 2025
f338b91
#4483 Fix gltf not opening unicode paths
akleshchev Aug 4, 2025
61d53a8
#4470 Plug in Discord SDK package
akleshchev Aug 4, 2025
8eb2429
#4451 Remove missed first login image
akleshchev Aug 4, 2025
c267497
#4470 Adjustments and Mac build fixes
akleshchev Aug 5, 2025
c8f1890
#4473 Permit zooming to self in people panel
akleshchev Aug 5, 2025
c25df52
#3564 Permit 'labeling' audio streams that play via media plugin
akleshchev Aug 5, 2025
acc8928
Merge release/2025.05 into develop
akleshchev Aug 6, 2025
819817f
#4470 Temporarily disable Discord SDK
akleshchev Aug 6, 2025
0f68bcd
Revert "#4400 Model Import "use lod above" was not updating"
akleshchev Aug 6, 2025
ce9d66c
Merge branch develop into 2025.06
akleshchev Aug 6, 2025
55f1c8b
Merge pull request #4492 Merge Develop into Maint-C (2025.06)
akleshchev Aug 6, 2025
6459a3c
#4297 Crash on LLVOCache::writeToCache
akleshchev Aug 6, 2025
93a66b4
#4470 Hide discord panel when set to build without discord
akleshchev Aug 6, 2025
8ef660a
#4503 Crash at openHeaderEntriesFile
akleshchev Aug 8, 2025
bab2c12
Straighten out muting to prevent echo when crossing from vivox to web…
roxanneskelly Aug 6, 2025
5b1c783
Merge pull request #4494 from secondlife/roxie/fix-4419
Geenz Aug 8, 2025
8a29c10
#4334 Crash at getIsDynamic #2
akleshchev Aug 9, 2025
2c0db0c
Bump viewer version to 7.2.1
akleshchev Aug 11, 2025
28b9609
#4420 Fix chat log reading issue with certain characters
maxim-productengine Aug 11, 2025
2308328
#4284 Better window shutdown logging
akleshchev Aug 11, 2025
ca069b5
#4522 Crash at shouldAllowFirstMediaInteraction
akleshchev Aug 11, 2025
1bcdf68
#4473 Enable Zoom in to Self menu option in chat
akleshchev Aug 12, 2025
ea24792
#4524 LLControlVariable error
akleshchev Aug 12, 2025
f7f0606
Fix issue where p2p calls were coming up muted even thought the UI sa…
roxanneskelly Aug 11, 2025
922d232
#4535 Revert "Fix: ignore *pass-on* counters when detecting left-butt…
akleshchev Aug 12, 2025
82e6e42
#4527 Crash trying to upload a huge image
akleshchev Aug 12, 2025
024da37
Add support for Normalized Frametime Variation (NVFT) (#4395)
Geenz Aug 13, 2025
d859557
#4541 Cap image upload size to prevent issues
akleshchev Aug 13, 2025
4796180
#4541 Fix reused message
akleshchev Aug 14, 2025
37a04ba
#4544 Add source format information to mesh upload statistics
akleshchev Aug 14, 2025
375158e
Merge tag 'Second_Life_Release#37a04baf-2025.06' into project/lua_editor
Rider-Linden Aug 23, 2025
f25c2a5
Merge pull request #4602 from secondlife/rider/release_to_luaedit
Rider-Linden Aug 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
needs: setup
strategy:
matrix:
runner: [windows-large, macos-12-large]
runner: [windows-large, macos-15-xlarge]
configuration: ${{ fromJSON(needs.setup.outputs.configurations) }}
runs-on: ${{ matrix.runner }}
outputs:
Expand All @@ -64,7 +64,7 @@ jobs:
# autobuild-package.xml.
AUTOBUILD_VCS_INFO: "true"
AUTOBUILD_VSVER: "170"
DEVELOPER_DIR: "/Applications/Xcode_14.0.1.app/Contents/Developer"
DEVELOPER_DIR: "/Applications/Xcode_16.1.app/Contents/Developer"
# Ensure that Linden viewer builds engage Bugsplat.
BUGSPLAT_DB: ${{ needs.setup.outputs.bugsplat_db }}
build_coverity: false
Expand Down
5 changes: 5 additions & 0 deletions indra/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ else()
set( USE_AUTOBUILD_3P ON )
endif()

if (NOT DEFINED CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 20)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(Variables)
include(BuildVersion)

Expand Down
6 changes: 5 additions & 1 deletion indra/llcommon/fsyspath.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,11 @@ class fsyspath: public std::filesystem::path
}

// shadow base-class string() method with UTF-8 aware method
std::string string() const { return super::u8string(); }
std::string string() const
{
auto u8 = super::u8string();
return std::string(u8.begin(), u8.end());
}
// On Posix systems, where value_type is already char, this operator
// std::string() method shadows the base class operator string_type()
// method. But on Windows, where value_type is wchar_t, the base class
Expand Down
4 changes: 2 additions & 2 deletions indra/llcommon/llqueuedthread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ size_t LLQueuedThread::updateQueue(F32 max_time_ms)
// schedule a call to threadedUpdate for every call to updateQueue
if (!isQuitting())
{
mRequestQueue.post([=]()
mRequestQueue.post([=, this]()
{
LL_PROFILE_ZONE_NAMED_CATEGORY_THREAD("qt - update");
mIdleThread = false;
Expand Down Expand Up @@ -474,7 +474,7 @@ void LLQueuedThread::processRequest(LLQueuedThread::QueuedRequest* req)
#else
using namespace std::chrono_literals;
auto retry_time = LL::WorkQueue::TimePoint::clock::now() + 16ms;
mRequestQueue.post([=]
mRequestQueue.post([=, this]
{
LL_PROFILE_ZONE_NAMED("processRequest - retry");
if (LL::WorkQueue::TimePoint::clock::now() < retry_time)
Expand Down
3 changes: 3 additions & 0 deletions indra/llmessage/message_prehash.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -714,6 +714,9 @@ char const* const _PREHASH_FirstName = LLMessageStringTable::getInstance()->getS
char const* const _PREHASH_AttachedSoundGainChange = LLMessageStringTable::getInstance()->getString("AttachedSoundGainChange");
char const* const _PREHASH_LocationID = LLMessageStringTable::getInstance()->getString("LocationID");
char const* const _PREHASH_Running = LLMessageStringTable::getInstance()->getString("Running");
char const* const _PREHASH_Mono = LLMessageStringTable::getInstance()->getString("Mono");
char const* const _PREHASH_Luau = LLMessageStringTable::getInstance()->getString("Luau");
char const* const _PREHASH_LuauLanguage = LLMessageStringTable::getInstance()->getString("LuauLanguage");
char const* const _PREHASH_AgentThrottle = LLMessageStringTable::getInstance()->getString("AgentThrottle");
char const* const _PREHASH_NeighborList = LLMessageStringTable::getInstance()->getString("NeighborList");
char const* const _PREHASH_PathTaperX = LLMessageStringTable::getInstance()->getString("PathTaperX");
Expand Down
3 changes: 3 additions & 0 deletions indra/llmessage/message_prehash.h
Original file line number Diff line number Diff line change
Expand Up @@ -714,6 +714,9 @@ extern char const* const _PREHASH_FirstName;
extern char const* const _PREHASH_AttachedSoundGainChange;
extern char const* const _PREHASH_LocationID;
extern char const* const _PREHASH_Running;
extern char const* const _PREHASH_Mono;
extern char const* const _PREHASH_Luau;
extern char const* const _PREHASH_LuauLanguage;
extern char const* const _PREHASH_AgentThrottle;
extern char const* const _PREHASH_NeighborList;
extern char const* const _PREHASH_PathTaperX;
Expand Down
2 changes: 1 addition & 1 deletion indra/llrender/llimagegl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1773,7 +1773,7 @@ void LLImageGL::syncToMainThread(LLGLuint new_tex_name)
ref();
LL::WorkQueue::postMaybe(
mMainQueue,
[=]()
[=, this]()
{
LL_PROFILE_ZONE_NAMED("cglt - delete callback");
syncTexName(new_tex_name);
Expand Down
17 changes: 16 additions & 1 deletion indra/llui/llcombobox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -251,11 +251,26 @@ void LLComboBox::resetDirty()
}
}

bool LLComboBox::itemExists(const std::string& name)
bool LLComboBox::itemExists(const std::string& name) const
{
return mList->getItemByLabel(name);
}

bool LLComboBox::valueExists(const std::string& value) const
{
return mList->getItemByValue(value);
}

LLScrollListItem* LLComboBox::findItemByValue(const std::string& value) const
{
return mList->getItemByValue(value);
}

std::vector<LLScrollListItem*> LLComboBox::getAllData() const
{
return mList->getAllData();
}

// add item "name" to menu
LLScrollListItem* LLComboBox::add(const std::string& name, EAddPosition pos, bool enabled)
{
Expand Down
5 changes: 4 additions & 1 deletion indra/llui/llcombobox.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,10 @@ class LLComboBox
LLScrollListItem* addSeparator(EAddPosition pos = ADD_BOTTOM);
bool remove( S32 index ); // remove item by index, return true if found and removed
void removeall() { clearRows(); }
bool itemExists(const std::string& name);
bool itemExists(const std::string& name) const;
bool valueExists(const std::string& value) const;
LLScrollListItem* findItemByValue(const std::string& value) const;
std::vector<LLScrollListItem*> getAllData() const;

void sortByName(bool ascending = true); // Sort the entries in the combobox by name

Expand Down
24 changes: 19 additions & 5 deletions indra/llui/llkeywords.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,10 @@ LLUIColor LLKeywords::getColorGroup(std::string_view key_in)
return LLUIColorTable::instance().getColor(color_group);
}

void LLKeywords::initialize(LLSD SyntaxXML)
void LLKeywords::initialize(LLSD SyntaxXML, bool luau_language)
{
mSyntax = SyntaxXML;
mLuauLanguage = luau_language;
mLoaded = true;
}

Expand All @@ -235,10 +236,22 @@ void LLKeywords::processTokens()
// Add 'standard' stuff: Quotes, Comments, Strings, Labels, etc. before processing the LLSD
std::string delimiter;
addToken(LLKeywordToken::TT_LABEL, "@", getColorGroup("misc-flow-label"), "Label\nTarget for jump statement", delimiter );
addToken(LLKeywordToken::TT_ONE_SIDED_DELIMITER, "//", LLUIColorTable::instance().getColor("SyntaxLslComment"), "Comment (single-line)\nNon-functional commentary or disabled code", delimiter );
addToken(LLKeywordToken::TT_TWO_SIDED_DELIMITER, "/*", LLUIColorTable::instance().getColor("SyntaxLslComment"), "Comment (multi-line)\nNon-functional commentary or disabled code", "*/" );
addToken(LLKeywordToken::TT_DOUBLE_QUOTATION_MARKS, "\"", LLUIColorTable::instance().getColor("SyntaxLslStringLiteral"), "String literal", "\"" );

if (mLuauLanguage)
{
// Add Lua-style comments
addToken(LLKeywordToken::TT_ONE_SIDED_DELIMITER, "--", LLUIColorTable::instance().getColor("SyntaxLslComment"), "Comment (Lua-style single-line)\nNon-functional commentary or disabled code", delimiter);
addToken(LLKeywordToken::TT_TWO_SIDED_DELIMITER, "--[[", LLUIColorTable::instance().getColor("SyntaxLslComment"), "Comment (Lua-style multi-line)\nNon-functional commentary or disabled code", "]]");
}
else
{
// Add LSL-style comments
addToken(LLKeywordToken::TT_ONE_SIDED_DELIMITER, "//", LLUIColorTable::instance().getColor("SyntaxLslComment"), "Comment (single-line)\nNon-functional commentary or disabled code", delimiter);
addToken(LLKeywordToken::TT_TWO_SIDED_DELIMITER, "/*", LLUIColorTable::instance().getColor("SyntaxLslComment"), "Comment (multi-line)\nNon-functional commentary or disabled code", "*/");
}


LLSD::map_iterator itr = mSyntax.beginMap();
for ( ; itr != mSyntax.endMap(); ++itr)
{
Expand Down Expand Up @@ -627,7 +640,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegmentPtr>* seg_list, const LLW

if( *cur )
{
cur += cur_delimiter->getLengthHead();
cur += cur_delimiter->getLengthTail();
seg_end = seg_start + between_delimiters + cur_delimiter->getLengthHead() + cur_delimiter->getLengthTail();
}
else
Expand Down Expand Up @@ -665,7 +678,8 @@ void LLKeywords::findSegments(std::vector<LLTextSegmentPtr>* seg_list, const LLW
if( !iswalnum( prev ) && (prev != '_') )
{
const llwchar* p = cur;
while( iswalnum( *p ) || (*p == '_') )
while( iswalnum( *p ) || (*p == '_')
|| (mLuauLanguage && *p == '.') ) // Allow dots in Lua to pass the functions. For example, "ll.Say()" instead of "llSay()" in LSL
{
p++;
}
Expand Down
3 changes: 2 additions & 1 deletion indra/llui/llkeywords.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ class LLKeywords
const LLWString& text,
class LLTextEditor& editor,
LLStyleConstSP style);
void initialize(LLSD SyntaxXML);
void initialize(LLSD SyntaxXML, bool luau_language = false);
void processTokens();

// Add the token as described
Expand Down Expand Up @@ -189,6 +189,7 @@ class LLKeywords

bool mLoaded;
LLSD mSyntax;
bool mLuauLanguage;
word_token_map_t mWordTokenMap;
typedef std::deque<LLKeywordToken*> token_list_t;
token_list_t mLineTokenList;
Expand Down
13 changes: 13 additions & 0 deletions indra/llui/llscrolllistctrl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1281,6 +1281,19 @@ LLScrollListItem* LLScrollListCtrl::getItemByLabel(const std::string& label, boo
return NULL;
}

LLScrollListItem* LLScrollListCtrl::getItemByValue(const std::string& value)
{
for (LLScrollListItem* item : mItemList)
{
if (item->getValue().asString() == value)
{
return item;
}
}

return NULL;
}

LLScrollListItem* LLScrollListCtrl::getItemByIndex(S32 index)
{
if (index >= 0 && index < (S32)mItemList.size())
Expand Down
3 changes: 2 additions & 1 deletion indra/llui/llscrolllistctrl.h
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,8 @@ class LLScrollListCtrl : public LLUICtrl, public LLEditMenuHandler,
bool selectItemByLabel(const std::string& item, bool case_sensitive = true, S32 column = 0); // false if item not found
bool selectItemByPrefix(const std::string& target, bool case_sensitive = true, S32 column = -1);
bool selectItemByPrefix(const LLWString& target, bool case_sensitive = true, S32 column = -1);
LLScrollListItem* getItemByLabel(const std::string& item, bool case_sensitive = true, S32 column = 0);
LLScrollListItem* getItemByLabel(const std::string& label, bool case_sensitive = true, S32 column = 0);
LLScrollListItem* getItemByValue(const std::string& value);
LLScrollListItem* getItemByIndex(S32 index);
std::string getSelectedItemLabel(S32 column = 0) const;
LLSD getSelectedValue();
Expand Down
8 changes: 4 additions & 4 deletions indra/llwindow/llwindowmacosx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1060,7 +1060,7 @@ F32 LLWindowMacOSX::getGamma()
&greenGamma,
&blueMin,
&blueMax,
&blueGamma) == noErr)
&blueGamma) == kCGErrorSuccess)
{
// So many choices...
// Let's just return the green channel gamma for now.
Expand Down Expand Up @@ -1111,7 +1111,7 @@ bool LLWindowMacOSX::setGamma(const F32 gamma)
&greenGamma,
&blueMin,
&blueMax,
&blueGamma) != noErr)
&blueGamma) != kCGErrorSuccess)
{
return false;
}
Expand All @@ -1126,7 +1126,7 @@ bool LLWindowMacOSX::setGamma(const F32 gamma)
gamma,
blueMin,
blueMax,
gamma) != noErr)
gamma) != kCGErrorSuccess)
{
return false;
}
Expand Down Expand Up @@ -1178,7 +1178,7 @@ bool LLWindowMacOSX::setCursorPosition(const LLCoordWindow position)
newPosition.y = screen_pos.mY;

CGSetLocalEventsSuppressionInterval(0.0);
if(CGWarpMouseCursorPosition(newPosition) == noErr)
if(CGWarpMouseCursorPosition(newPosition) == kCGErrorSuccess)
{
result = true;
}
Expand Down
Loading
Loading