obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

UI: Fix settings mismatch

Open shiina424 opened this issue 1 year ago • 1 comments

Description

“Automatically check for updates on startup” is unchecked. (Settings > General) “Enable Browser Source Hardware Acceleration” is unchecked. (Settings > Advanced) The number of log files is low. (Usually 10, but now 2.) The number of profiler_data files is low. (Usually 10, but now 1.) *This occurs when there is no OBS config file. (when OBS is started for the first time)

I'm not sure if this change is correct, so please close if it's wrong.

Motivation and Context

I want to solve a problem.

How Has This Been Tested?

I checked with the CI build. I’m not sure if the code changes are correct.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • [ ] My code has been run through clang-format.
  • [x] I have read the contributing document.
  • [x] My code is not on the master branch.
  • [ ] The code has been tested.
  • [x] All commit messages are properly formatted and commits squashed where appropriate.
  • [x] I have included updates to all appropriate documentation.

shiina424 avatar Oct 05 '24 16:10 shiina424

The changes are correct, but not exhaustive - I found more instances of the same issue:

  • https://github.com/obsproject/obs-studio/blob/641d651e552a2a37de39c6083685111d1f4bcffa/UI/window-basic-main.cpp#L2316
  • https://github.com/obsproject/obs-studio/blob/641d651e552a2a37de39c6083685111d1f4bcffa/UI/window-basic-main.cpp#L2329-L2332
  • https://github.com/obsproject/obs-studio/blob/641d651e552a2a37de39c6083685111d1f4bcffa/UI/window-basic-interaction.cpp#L45-L46

@shiina424 would you be willing to change these as well to consistently use app config? That would save us from splitting that into another PR.

@Warchamp7 The changes in this PR are correct and consistent with the changes of the original PR. Here's a (correct) list of all settings scoped to "App" level:

  • Global Application State:

    • MaxLogs (Logs are kept in the app-specific config location)
    • ProcessPriority (App-specific setting)
    • Renderer (App-specific setting)
    • DisableOSXVSync (Changes app behaviour)
    • ResetOSXVSyncOnExit (See above)
    • DisableAudioDucking (See above)
    • InteractionWindow (Stores state of application window, considered "app state")
    • PropertiesWindow (Stores state of application window, considered "app state")
    • BrowserHWAccel (Also considered to be part of "app state")
    • Pre31Migrated (Is related to the prior "app" config)
    • MacOSPermissionsDialogLastShown (Also stores an "app state")
  • Auto Update (All settings related to the update are "app state", users should not end up with different versions, update branches, or update settings based on config file location):

    • InfoIncrement
    • EnableAutoUpdates
    • LastVersion
    • InfoLastVersion
    • InfoLastRCVersion
    • InfoLastBetaVersion
    • LastUpdateCheck
    • UpdateBranch
    • InstallGUID
    • AutoBetaOptIn

PatTheMav avatar Oct 06 '24 01:10 PatTheMav