From aa48fe2af2d30a45a8b32acf515cf943c8561f86 Mon Sep 17 00:00:00 2001 From: fvogel Date: Wed, 21 Jun 2017 19:52:31 +0000 Subject: Fix [92e028b41b] and [c5eb909f86]: Theme changes to xpnative after switching user on Windows. Patch from Brad Lanam --- win/ttkWinMonitor.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/win/ttkWinMonitor.c b/win/ttkWinMonitor.c index c6e906b..6e46374 100644 --- a/win/ttkWinMonitor.c +++ b/win/ttkWinMonitor.c @@ -122,12 +122,15 @@ WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) case WM_THEMECHANGED: /* - * Reset the application theme to 'xpnative' if present, - * which will in turn fall back to 'winnative' if XP theming - * is disabled. + * Reset the application theme. + * On windows, it is possible to sign in as a second user, change + * the theme to 'winnative' (by setting the ui to 'best performance'), + * which is a machine-wide change, and then sign back on to the original user. + * Ttk_UseTheme needs to be executed again in order to process the fallback + * from vista/xpnative to winnative. */ - theme = Ttk_GetTheme(interp, "xpnative"); + theme = Ttk_GetCurrentTheme(interp); if (theme) { Ttk_UseTheme(interp, theme); /* @@@ What to do about errors here? */ -- cgit v0.12