[svn] GpgEX - r5 - in trunk: . src

svn author marcus cvs at cvs.gnupg.org
Tue Aug 28 14:12:43 CEST 2007


Author: marcus
Date: 2007-08-28 14:12:14 +0200 (Tue, 28 Aug 2007)
New Revision: 5

Modified:
   trunk/README
   trunk/src/ChangeLog
   trunk/src/gpgex-class.cc
   trunk/src/main.cc
Log:
2007-08-28  Marcus Brinkmann  <marcus at g10code.de>

	* main.cc (DllRegisterServer): Do not trash gpgex_server::instance.
	* gpgex-class.cc (gpgex_class::init): Now that DllMain loads, we
	can access the DLL file name.


Modified: trunk/README
===================================================================
--- trunk/README	2007-08-28 12:00:29 UTC (rev 4)
+++ trunk/README	2007-08-28 12:12:14 UTC (rev 5)
@@ -12,17 +12,3 @@
 information is appended.  Also see:
 
 http://msdn2.microsoft.com/en-us/library/aa969286.aspx
-
-
-BUGS
-====
-
-* DllRegisterServer does not correctly figure out the DLL path name
-  (it catches regsvr32.exe instead).  Thus the DLL path is hard coded
-  to "C:\\gpgex.dll" for now.  You can change it in the registry by
-  locating
-  "HKCR\CLSID\{CCD955E4-5C16-4A33-AFDA-A8947A94946B}\InprocServer32"
-  and changing the default value of that key.
-
-* DllMain is not invoked for some reason, so i18n is not initialized
-  and debugging output is done inefficiently.

Modified: trunk/src/ChangeLog
===================================================================
--- trunk/src/ChangeLog	2007-08-28 12:00:29 UTC (rev 4)
+++ trunk/src/ChangeLog	2007-08-28 12:12:14 UTC (rev 5)
@@ -1,5 +1,9 @@
 2007-08-28  Marcus Brinkmann  <marcus at g10code.de>
 
+	* main.cc (DllRegisterServer): Do not trash gpgex_server::instance.
+	* gpgex-class.cc (gpgex_class::init): Now that DllMain loads, we
+	can access the DLL file name.
+
 	* main.cc (DllMain): Change return type to "STADPI" to get an
 	extern "C" declaration.
 	(_gpgex_debug): Remove lazy initialization cruft.  DllMain is

Modified: trunk/src/gpgex-class.cc
===================================================================
--- trunk/src/gpgex-class.cc	2007-08-28 12:00:29 UTC (rev 4)
+++ trunk/src/gpgex-class.cc	2007-08-28 12:12:14 UTC (rev 5)
@@ -61,11 +61,7 @@
   /* The InprocServer32 key holds the path to the server component.  */
   strcpy (key, "CLSID\\{" CLSID_GPGEX_STR "}\\InprocServer32");
   RegCreateKey (HKEY_CLASSES_ROOT, key, &key_handle);
-  /* FIXME: We get regsvr32.exe here instead gpgex.dll.  */
-#if 0
   result = GetModuleFileName (gpgex_server::instance, value, MAX_PATH);
-#endif
-  strcpy (value, "C:\\gpgex.dll");
   RegSetValueEx (key_handle, 0, 0, REG_SZ, (BYTE *) value, strlen (value) + 1);
   /* We also need a threading model.  */
   strcpy (key, "ThreadingModel");

Modified: trunk/src/main.cc
===================================================================
--- trunk/src/main.cc	2007-08-28 12:00:29 UTC (rev 4)
+++ trunk/src/main.cc	2007-08-28 12:12:14 UTC (rev 5)
@@ -231,10 +231,6 @@
 STDAPI
 DllRegisterServer (void)
 {
-  /* FIXME: This is wrong!!!  The module path will point to
-     regsvr32.exe.  */
-  gpgex_server::instance = GetModuleHandle (NULL);
-
   gpgex_class::init ();
 
   /* Notify the shell about the change.  */




More information about the Gnupg-commits mailing list