[commit] r2799 - in trunk: Doc GME/Gme

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Mon Apr 5 11:26:09 CDT 2021


Author: ksmyth
Date: Mon Apr  5 11:26:09 2021
New Revision: 2799

Log:
GME release 21.4.1

Modified:
   trunk/Doc/README_in.txt
   trunk/Doc/index.md
   trunk/GME/Gme/GMEApp.cpp

Modified: trunk/Doc/README_in.txt
==============================================================================
--- trunk/Doc/README_in.txt	Mon Apr  5 11:26:05 2021	(r2798)
+++ trunk/Doc/README_in.txt	Mon Apr  5 11:26:09 2021	(r2799)
@@ -1,5 +1,5 @@
               Generic Modeling Environment
-       Copyright © 2000-2020 Vanderbilt University
+       Copyright © 2000-2021 Vanderbilt University
 
 
 ************************************************
@@ -25,10 +25,11 @@
 1. Release Notes
 ************************************************
 
-Release Notes
+Release Notes of Release 21.4.1
 ----------------------------------
   - Binary compatibility with 11.12.2
-  - Fix bug where 'Do you want to save?' dialog appears too often
+  - Fix bug where 'Do you want to save?' dialog appears when the project hasn't been modified
+  - Fix some high-DPI rendering issues
 
 Release Notes of Release 20.2.12
 ----------------------------------

Modified: trunk/Doc/index.md
==============================================================================
--- trunk/Doc/index.md	Mon Apr  5 11:26:05 2021	(r2798)
+++ trunk/Doc/index.md	Mon Apr  5 11:26:09 2021	(r2799)
@@ -13,8 +13,8 @@
 [GME overview](http://www.isis.vanderbilt.edu/Projects/gme/)
 
 Download GME  
-  [README/changelog](http://repo.isis.vanderbilt.edu/GME/20.2.12/README.txt)  
-  <a href="http://repo.isis.vanderbilt.edu/GME/20.2.12/GME-20.2.12.exe">GME-20.2.12.exe</a>  
+  [README/changelog](http://repo.isis.vanderbilt.edu/GME/21.4.1/README.txt)  
+  <a href="http://repo.isis.vanderbilt.edu/GME/21.4.1/GME-21.4.1.exe">GME-21.4.1.exe</a>  
   [older releases, source code, and debugging symbols](http://repo.isis.vanderbilt.edu/GME/old/)  
 
 [GME User's Manual](GME Manual and User Guide/GME Manual and User Guide.pdf)

Modified: trunk/GME/Gme/GMEApp.cpp
==============================================================================
--- trunk/GME/Gme/GMEApp.cpp	Mon Apr  5 11:26:05 2021	(r2798)
+++ trunk/GME/Gme/GMEApp.cpp	Mon Apr  5 11:26:09 2021	(r2799)
@@ -633,17 +633,25 @@
 
 static void HookInvalidArg() {
 #if defined(_M_IX86)
+	/*
+	End state:
+	0:018> u mfc140u!AfxThrowInvalidArgException
+	mfc140u!AfxThrowInvalidArgException:
+	7bf38bc0 e91b944e84      jmp     GME!InvalidArgReplacement (00421fe0)
+	*/
 	// reg add HKCU\Software\GME /v HookInvalidArg /d 1 /t REG_SZ /f
 	if (getUserRegistryStringValue(L"HookInvalidArg") == L"1") {
 		InvalidArg = &AfxThrowInvalidArgException;
 		int** invalidArg = (int**)(2 + ((char*)(void*)InvalidArg));
+		// **invalidArg == mfc140u!AfxThrowInvalidArgException
 		DWORD oldProtect;
 		if (VirtualProtect((LPVOID)**invalidArg, 5, PAGE_EXECUTE_READWRITE, &oldProtect)) {
 			int invalidArgHook = (int)(void*)&InvalidArgReplacement;
 			ptrdiff_t diff = invalidArgHook - **invalidArg;
-			diff -= 5;
-			*((char*)**invalidArg) = 0xe9;
-			*((int*)(1 + (char*)**invalidArg)) = diff;
+			char relative_jmp = 0xe9;
+			diff -= sizeof(relative_jmp) + sizeof(diff);
+			*((char*)**invalidArg) = relative_jmp;
+			*((int*)(sizeof(relative_jmp) + (char*)**invalidArg)) = diff;
 			// AfxThrowInvalidArgException();
 		}
 	}


More information about the gme-commit mailing list