[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kdecore/kernel
From:       Ralf Habacker <Ralf.Habacker () freenet ! de>
Date:       2009-04-01 8:00:56
Message-ID: 1238572856.160054.28161.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 947698 by habacker:

fixed detecting image base address in a generic way

 M  +2 -8      kkernel_win.cpp  


--- trunk/KDE/kdelibs/kdecore/kernel/kkernel_win.cpp #947697:947698
@@ -359,14 +359,8 @@
     if (subSystem > -1)
         return subSystem; 
 
-    PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)0x00400000;
-
-    // the applications module base adresse in memory is normally 0x00400000. 
-    // When loading kdecore library from regsrv32 a different address (0x01000000) is used. 
-    // Check for this additional possible base address
-    if (IsBadReadPtr(dosHeader,sizeof(IMAGE_DOS_HEADER)))
-        dosHeader = (PIMAGE_DOS_HEADER)0x01000000;
-
+    // get base address of memory mapped executable
+    PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)GetModuleHandle(NULL);
     PIMAGE_NT_HEADERS ntHeader = (PIMAGE_NT_HEADERS) ((char *)dosHeader + dosHeader->e_lfanew);
     if (ntHeader->Signature != 0x00004550) 
     {
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic