diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index afe2e2e0a..09f49175a 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -777,6 +777,18 @@ bool OBSApp::InitGlobalConfig() } #undef PRE_24_1_DEFS +#define PRE_26_2_DEFS "Pre26.2Defaults" + if (!config_has_user_value(globalConfig, "General", PRE_26_2_DEFS)) { + bool useOldDefaults = lastVersion && + lastVersion < + MAKE_SEMANTIC_VERSION(26, 2, 0); + + config_set_bool(globalConfig, "General", PRE_26_2_DEFS, + useOldDefaults); + changed = true; + } +#undef PRE_26_2_DEFS + if (config_has_user_value(globalConfig, "BasicWindow", "MultiviewLayout")) { const char *layout = config_get_string( diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 2f25a33ed..6e743312a 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -1218,13 +1218,19 @@ bool OBSBasic::InitBasicConfigDefaults() uint32_t cx = primaryScreen->size().width(); uint32_t cy = primaryScreen->size().height(); + bool oldScaleBehavior = config_get_bool(App()->GlobalConfig(), + "General", "Pre26.2Defaults"); + + /* after version 26.2, apply scaling to cx/cy */ + if (!oldScaleBehavior) { #ifdef SUPPORTS_FRACTIONAL_SCALING - cx *= devicePixelRatioF(); - cy *= devicePixelRatioF(); + cx *= devicePixelRatioF(); + cy *= devicePixelRatioF(); #elif - cx *= devicePixelRatio(); - cy *= devicePixelRatio(); + cx *= devicePixelRatio(); + cy *= devicePixelRatio(); #endif + } bool oldResolutionDefaults = config_get_bool( App()->GlobalConfig(), "General", "Pre19Defaults");