secondlife / secondlife/viewer

Opening any File Dialog breaks the viewer in FullScreen

Open
#4,569 3 comments 0 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #6273 by @Hecklezz — merged
bug help wanted stale
Dominant language
C++
Stars
299
Forks
146
Avg merge
1d 9h
Merged PRs (30d)
88

Description

Environment

Second Life Release 7.2.0.16729091892 (64bit)

Rest of Environment- Release Notes

CPU: Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (3600.01 MHz)
Memory: 16302 MB
OS Version: Microsoft Windows 10 64-bit (Build 19045.6093)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: NVIDIA GeForce RTX 2080/PCIe/SSE2

Windows Graphics Driver Version: 32.0.15.8097
OpenGL Version: 4.6.0 NVIDIA 580.97

Window size: 2560x1440
Font Size Adjustment: 96pt
UI Scaling: 1
Draw distance: 256m
Bandwidth: 3000kbit/s
LOD factor: 4
Render quality: 5
Texture memory: 8192MB
Disk cache: Max size 1638.4 MB (100.0% used)

J2C Decoder Version: KDU v7.10.4
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.14.0.202408091639
CEF: 118.4.1+g3dd6078+chromium-118.0.5993.54
Chromium: 118.0.5993.54
LibVLC Version: 3.0.21
Voice Server Version:

August 18 2025 07:51:28

Description

If you have the viewer in exclusive FullScreen mode and attempt to open any file dialog such as uploading something or saving something. If you attempt to click back into the viewer without first closing the file dialog (so don't click okay or cancel, or X out), the viewer completely breaks and can no longer be interacted with and forcefully minimises itself when you try, and also now the file dialog is missing. The only way to fix the viewer is to forcefully close it with Task manager, Alt+F4 doesn't work and closing the window from the task bar doesn't work either.

This only occurs if you run the viewer from the exe directly (or a shortcut to it), but doesn't occur if it is the child process of another process. Such as running it with or without the Visual Studio debugger makes the issue not occur.

I can only confirm this issue occurs on Windows, in both Windows 10 and Windows 11, I don't know about MacOS or Linux.

Unfortunately I cannot record the issue occurring since between every minimise and maximise, the recordings screen goes black for numerous seconds. But it should be easily reproducible following the below steps.

Reproduction steps
  1. Launch the viewer directly and not through Visual Studio or as a child process of any other application
  2. Enter FullScreen on the viewer if not already (Debug settings, otherwise if using Firestorm it is simply under graphics in preferences)
  3. Cause any File Dialog window to appear such as uploading an image, or saving a texture in your inventory
  4. Instead of closing the file dialog, click back into the Viewer
  5. You will now be unable to use the viewer, and trying to interact with it will minimise it.


This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️‍♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #4569 either in the PR description or in a PR's comment.

🪙 Also, everyone can tip any user commenting /tip 20 @Hecklezz (replace 20 with the amount, and @Hecklezz with the user to tip).

📖 If you want to learn more, check out our documentation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Windows-only failure using the listed fullscreen and file-dialog steps, then inspect the viewer's fullscreen and file-dialog handling. Done means the viewer remains interactive when focus returns before the dialog is closed, without minimising or requiring forceful termination.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.