diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llappviewerwin32.cpp | 23 | ||||
| -rw-r--r-- | indra/newview/llappviewerwin32.h | 1 | 
2 files changed, 24 insertions, 0 deletions
| diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index aaf2a7ea3e..94fc097b0f 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -816,6 +816,29 @@ bool LLAppViewerWin32::reportCrashToBugsplat(void* pExcepInfo)      return false;  } +bool LLAppViewerWin32::initWindow() +{ +    // This is a workaround/hotfix for a change in Windows 11 24H2 (and possibly later) +    // Where the window width and height need to correctly reflect an available FullScreen size +    if (gSavedSettings.getBOOL("FullScreen")) +    { +        DEVMODE dev_mode; +        ::ZeroMemory(&dev_mode, sizeof(DEVMODE)); +        dev_mode.dmSize = sizeof(DEVMODE); +        if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dev_mode)) +        { +            gSavedSettings.setU32("WindowWidth", dev_mode.dmPelsWidth); +            gSavedSettings.setU32("WindowHeight", dev_mode.dmPelsHeight); +        } +        else +        { +            LL_WARNS("AppInit") << "Unable to set WindowWidth and WindowHeight for FullScreen mode" << LL_ENDL; +        } +    } + +    return LLAppViewer::initWindow(); +} +  void LLAppViewerWin32::initLoggingAndGetLastDuration()  {      LLAppViewer::initLoggingAndGetLastDuration(); diff --git a/indra/newview/llappviewerwin32.h b/indra/newview/llappviewerwin32.h index 250e72edf3..3fad53ec72 100644 --- a/indra/newview/llappviewerwin32.h +++ b/indra/newview/llappviewerwin32.h @@ -46,6 +46,7 @@ public:      bool reportCrashToBugsplat(void* pExcepInfo) override;  protected: +    bool initWindow() override; // Override to initialize the viewer's window.      void initLoggingAndGetLastDuration() override; // Override to clean stack_trace info.      void initConsole() override; // Initialize OS level debugging console.      bool initHardwareTest() override; // Win32 uses DX9 to test hardware. | 
