[PATCH v2 1/3] conhost: Save console settings as global defaults on first run

Hugh McMaster hugh.mcmaster at outlook.com
Tue Apr 19 06:26:33 CDT 2022


On Windows, HKCU\Console holds global default settings, while subkeys hold
any app-specific settings that differ from the defaults.

Wine's conhost.exe implementation currently saves all console settings to
an app-specific subkey on the first run, while global defaults are only
saved to HKCU\Console if the user selects the Default pop-up menu option.
This is the opposite of the behaviour on Windows.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/conhost/window.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/programs/conhost/window.c b/programs/conhost/window.c
index fb02ef9fd94..130be396820 100644
--- a/programs/conhost/window.c
+++ b/programs/conhost/window.c
@@ -817,9 +817,9 @@ static int WINAPI get_first_font_sub_enum( const LOGFONTW *lf, const TEXTMETRICW
 
             fc->done = 1;
 
-            /* since we've modified the current config with new font information,
-             * set this information as the new default.
-             */
+            /* Save default font and console configuration to the registry */
+            load_config( NULL, &config );
+
             load_config( fc->console->window->config_key, &config );
             config.cell_width  = fc->console->active->font.width;
             config.cell_height = fc->console->active->font.height;
@@ -827,10 +827,8 @@ static int WINAPI get_first_font_sub_enum( const LOGFONTW *lf, const TEXTMETRICW
                     fc->console->active->font.face_len * sizeof(WCHAR) );
             config.face_name[fc->console->active->font.face_len] = 0;
 
-            /* Force also its writing back to the registry so that we can get it
-             * the next time.
-             */
-            save_config( fc->console->window->config_key, &config );
+            save_config( NULL, &config );
+
             return 0;
         }
     }
-- 
2.35.2




More information about the wine-devel mailing list