diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-11-20 15:35:27 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-11-20 15:35:27 (GMT) |
commit | 857ad319e1e8ef85c537ede8d628c08de911f03f (patch) | |
tree | 5575fae1369cc63819f3589e02d3191a3d15afd1 | |
parent | 0af1f3e468baaf1b8cf6bc13452d1fc8f0a265f5 (diff) | |
download | tk-857ad319e1e8ef85c537ede8d628c08de911f03f.zip tk-857ad319e1e8ef85c537ede8d628c08de911f03f.tar.gz tk-857ad319e1e8ef85c537ede8d628c08de911f03f.tar.bz2 |
Some bit of Windows 8.1 compatibility: See [http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074.aspx]
-rw-r--r-- | win/tkWinMenu.c | 6 | ||||
-rw-r--r-- | win/tkWinX.c | 12 | ||||
-rw-r--r-- | win/ttkWinXPTheme.c | 6 | ||||
-rw-r--r-- | win/wish.exe.manifest.in | 22 |
4 files changed, 34 insertions, 12 deletions
diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c index cb40c50..48bc16b 100644 --- a/win/tkWinMenu.c +++ b/win/tkWinMenu.c @@ -3205,7 +3205,7 @@ SetDefaults( int padding; #endif } nc; - OSVERSIONINFO os; + OSVERSIONINFOW os; /* * Set all of the default options. The loop will terminate when we run out @@ -3225,8 +3225,8 @@ SetDefaults( nc.metrics.cbSize = sizeof(nc); - os.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&os); + os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); + GetVersionExW(&os); if (os.dwMajorVersion < 6) { nc.metrics.cbSize -= sizeof(int); } diff --git a/win/tkWinX.c b/win/tkWinX.c index 1e218ec..60e5e90 100644 --- a/win/tkWinX.c +++ b/win/tkWinX.c @@ -167,10 +167,10 @@ TkGetServerInfo( * display and server. */ { char buffer[60]; - OSVERSIONINFO os; + OSVERSIONINFOW os; - os.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&os); + os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); + GetVersionExW(&os); sprintf(buffer, "Windows %d.%d %d %s", (int)os.dwMajorVersion, (int)os.dwMinorVersion, (int)os.dwBuildNumber, #ifdef _WIN64 @@ -378,10 +378,10 @@ int TkWinGetPlatformId(void) { if (tkPlatformId == 0) { - OSVERSIONINFO os; + OSVERSIONINFOW os; - os.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&os); + os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); + GetVersionExW(&os); tkPlatformId = os.dwPlatformId; /* diff --git a/win/ttkWinXPTheme.c b/win/ttkWinXPTheme.c index fda7b04..80b616d 100644 --- a/win/ttkWinXPTheme.c +++ b/win/ttkWinXPTheme.c @@ -1256,10 +1256,10 @@ MODULE_SCOPE int TtkXPTheme_Init(Tcl_Interp *interp, HWND hwnd) HINSTANCE hlibrary; Ttk_Theme themePtr, parentPtr, vistaPtr; ElementInfo *infoPtr; - OSVERSIONINFO os; + OSVERSIONINFOW os; - os.dwOSVersionInfoSize = sizeof(os); - GetVersionEx(&os); + os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); + GetVersionExW(&os); procs = LoadXPThemeProcs(&hlibrary); if (!procs) diff --git a/win/wish.exe.manifest.in b/win/wish.exe.manifest.in index 2cae0c0..7db42e3 100644 --- a/win/wish.exe.manifest.in +++ b/win/wish.exe.manifest.in @@ -8,6 +8,28 @@ type="win32" /> <description>Tcl/Tk windowing shell (wish)</description> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> + <security> + <requestedPrivileges> + <requestedExecutionLevel + level="asInvoker" + uiAccess="false" + /> + </requestedPrivileges> + </security> + </trustInfo> + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!-- Windows 8.1 --> + <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> + <!-- Windows 8 --> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> + <!-- Windows 7 --> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> + <!-- Windows Vista --> + <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> + </application> + </compatibility> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> |