secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
200 stars 48 forks source link

Terminating Lua script does not close any opened floaters #1737

Open AtlasLinden opened 4 weeks ago

AtlasLinden commented 4 weeks ago

Environment

Second Life Test 7.1.7.9018993715 (64bit) Release Notes

You are at 121.0, 110.0, 23.0 in Pasta Cake located at simhost-0e395cf99261760a8.agni SLURL: http://maps.secondlife.com/secondlife/Pasta%20Cake/121/110/23 (global coordinates 332,153.0, 305,518.0, 23.0) Second Life Server 2024-04-13.8669470296 Release Notes

CPU: 12th Gen Intel(R) Core(TM) i9-12900HK (2918.4 MHz) Memory: 32440 MB OS Version: Microsoft Windows 10 64-bit (Build 19044.3086) Graphics Card Vendor: NVIDIA Corporation Graphics Card: NVIDIA GeForce RTX 3050 Ti Laptop GPU/PCIe/SSE2

Windows Graphics Driver Version: 31.0.15.4659 OpenGL Version: 4.6.0 NVIDIA 546.59

Window size: 3840x2244 Font Size Adjustment: 96pt UI Scaling: 1 Draw distance: 128m Bandwidth: 10000kbit/s LOD factor: 1.5 Render quality: 4 Texture memory: 4095MB Disk cache: Max size 1638.4 MB (63.1% used)

J2C Decoder Version: KDU v7.10.4 Audio Driver Version: FMOD Studio 2.02.20 Dullahan: 1.14.0.202310131404 CEF: 118.4.1+g3dd6078+chromium-118.0.5993.54 Chromium: 118.0.5993.54 LibVLC Version: 3.0.16 Voice Server Version: Vivox 4.10.0000.32327.5fc3fe7c.399bd0e

Packets Lost: 0/3,181 (0.0%) June 12 2024 09:38:32

Description

Floaters that have been opened via a lua script do not clsoe when the script is terminated via the Lua Scripts floater.

Reproduction steps

Repro using the scripts/lua/test_luafloater_gesture_list lua script https://gyazo.com/179f9a8d366bdd5b9d047c1dd8074bf1

vir-linden commented 4 weeks ago

I would not expect floaters to close when a script terminates normally - it would be reasonable to have multiple scripts that are working together to produce some result, including using the same floaters.

Defining expected behavior when a script is force-terminated seems a bit tricky - what if some other script has requested the same floater, or it has been opened manually? Is the expectation that only if a single script has requested the floater to open, and then the script is force closed, the floater will be closed?