changeset 91:b5c6e5033649

debug
author Frank Benoit <benoit@tionex.de>
date Wed, 06 Feb 2008 23:12:32 +0100
parents be0b130bb29a
children 3b6217fd97e9
files dwt/internal/gdip/Gdip.d dwt/internal/win32/OS.d
diffstat 2 files changed, 34 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/internal/gdip/Gdip.d	Wed Feb 06 22:49:46 2008 +0100
+++ b/dwt/internal/gdip/Gdip.d	Wed Feb 06 23:12:32 2008 +0100
@@ -22,6 +22,10 @@
 import dwt.internal.win32.WINAPI;
 import dwt.internal.win32.OS;
 
+import tango.util.log.Trace;
+void trace(int line ){
+    Trace.formatln( "Gdip {}", line );
+}
 
 alias dwt.internal.gdip.native.GdiplusStartupInput  GdiplusStartupInput;
 alias dwt.internal.gdip.native.GdiplusStartupOutput GdiplusStartupOutput;
@@ -35,8 +39,10 @@
 public class Gdip : Platform
 {
     static this(){
+trace(__LINE__);
         if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
             loadLib_Gdip();
+trace(__LINE__);
         }
     }
 	/**************************************************************************
--- a/dwt/internal/win32/OS.d	Wed Feb 06 22:49:46 2008 +0100
+++ b/dwt/internal/win32/OS.d	Wed Feb 06 23:12:32 2008 +0100
@@ -22,6 +22,9 @@
 import tango.util.log.Trace;
 static import tango.stdc.stdlib;
 
+void trace(int line ){
+    Trace.formatln( "OS {}", line );
+}
 
 // declare of Callback functions
 extern (Windows)
@@ -220,7 +223,7 @@
         //IsSP  = IsSP();
         //PORTING_CHANGE: made by version
         //IsPPC = IsPPC();
-
+trace(__LINE__);
         version(WinCE) {
             IsHPC = IsWinCE && !IsPPC && !IsSP;
         }
@@ -228,6 +231,7 @@
         WIN32_MINOR = info.dwMinorVersion;
         WIN32_VERSION = VERSION (WIN32_MAJOR, WIN32_MINOR);
 
+trace(__LINE__);
         // when to load uxtheme
         if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
             loadLib( Symbols_UxTheme, `UxTheme.dll` );
@@ -235,21 +239,23 @@
         if (OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
             loadLib( Symbols_CoreImm, `Coreimm.dll` );
         }
-        if (OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) {
+        if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) {
             loadLib( Symbols_User32, `User32.dll` );
         }
-        if (OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
+        if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
             loadLib( Symbols_Imm32, `Imm32.dll` );
         }
-        if (OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
+        if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
             loadLib( Symbols_Kernel32, `Kernel32.dll` );
         }
 
+trace(__LINE__);
         //PORTING_CHANGE: made by version
         //IsUnicode = !IsWin32s && !IsWin95;
         /* Load the manifest to force the XP Theme */
         //if (System.getProperty (NO_MANIFEST) is null) {
             if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
+trace(__LINE__);
                 TCHAR[] buffer = new TCHAR[ MAX_PATH ];
                 HANDLE hModule = OS.GetLibraryHandle ();
                 while (OS.GetModuleFileName (hModule, buffer.ptr, buffer.length ) is buffer.length ) {
@@ -259,15 +265,20 @@
                 int byteCount = buffer.length * TCHAR.sizeof;
                 TCHAR* pszText = cast(TCHAR*) OS.HeapAlloc (hHeap, HEAP_ZERO_MEMORY, byteCount);
                 OS.MoveMemory (pszText, buffer.ptr, byteCount);
+trace(__LINE__);
                 ACTCTX pActCtx;
                 pActCtx.cbSize = ACTCTX.sizeof;
                 pActCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_SET_PROCESS_DEFAULT;
                 pActCtx.lpSource = pszText;
                 pActCtx.lpResourceName = cast(TCHAR*)MANIFEST_RESOURCE_ID;
+trace(__LINE__);
+Trace.formatln( "is loaded {}", ( OS.CreateActCtx !is null ));
                 HANDLE hActCtx = OS.CreateActCtx (&pActCtx);
+trace(__LINE__);
                 if (pszText !is null) OS.HeapFree (hHeap, 0, pszText);
                 uint lpCookie;
                 OS.ActivateActCtx (hActCtx, &lpCookie);
+trace(__LINE__);
                 /*
                 * NOTE:  A single activation context is created and activated
                 * for the entire lifetime of the program.  It is deactivated
@@ -283,6 +294,7 @@
         BOOL dbcsEnabled = OS.GetSystemMetrics (SM_DBCSENABLED) !is 0;
         BOOL immEnabled = OS.GetSystemMetrics (SM_IMMENABLED) !is 0;
         IsDBLocale = dbcsEnabled || immEnabled;
+trace(__LINE__);
 
         /*
         * Bug in Windows.  On Korean Windows XP when the Text
@@ -298,15 +310,18 @@
         if (!OS.IsWinCE && OS.WIN32_VERSION is OS.VERSION (5, 1)) {
             short langID = OS.GetSystemDefaultUILanguage ();
             short primaryLang = OS.PRIMARYLANGID (langID);
+trace(__LINE__);
             if (primaryLang is LANG_KOREAN) {
                 OSVERSIONINFOEX infoex;
                 infoex.dwOSVersionInfoSize = OSVERSIONINFOEX.sizeof;
                 GetVersionEx (cast(OSVERSIONINFO*) &infoex );
                 if (infoex.wServicePackMajor < 2) {
+trace(__LINE__);
                     OS.ImmDisableTextFrameService (0);
                 }
             }
         }
+trace(__LINE__);
 
         /* Get the COMCTL32.DLL version */
         DLLVERSIONINFO dvi;
@@ -319,13 +334,17 @@
         if (auto lib = SharedLib.load( `comctl32.dll`) ) {
             char[] name = "DllGetVersion\0"; //$NON-NLS-1$
             void* DllGetVersion = lib.getSymbol(name.ptr);
+trace(__LINE__);
             if (DllGetVersion !is null){
                 alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion;
                 TDllVersion f = cast( TDllVersion )DllGetVersion;
+trace(__LINE__);
                 f(&dvi);
             }
+trace(__LINE__);
             lib.unload();
         }
+trace(__LINE__);
         COMCTL32_MAJOR = dvi.dwMajorVersion;
         COMCTL32_MINOR = dvi.dwMinorVersion;
         COMCTL32_VERSION = VERSION (COMCTL32_MAJOR, COMCTL32_MINOR);
@@ -336,19 +355,24 @@
         dvi.dwMajorVersion = 4;
         //TCHAR lpLibFileName = new TCHAR (0, "Shell32.dll", true); //$NON-NLS-1$
         //int /*long*/ hModule = OS.LoadLibrary (lpLibFileName);
+trace(__LINE__);
         if ( auto lib = SharedLib.load( `Shell32.dll`)) {
             char[] name = "DllGetVersion\0"; //$NON-NLS-1$
             void* DllGetVersion = lib.getSymbol(name.ptr);
+trace(__LINE__);
             if (DllGetVersion !is null){
                 alias extern(Windows) void function(DLLVERSIONINFO*) TDllVersion;
                 TDllVersion f = cast( TDllVersion )DllGetVersion;
+trace(__LINE__);
                 f(&dvi);
             }
+trace(__LINE__);
             lib.unload();
         }
         SHELL32_MAJOR = dvi.dwMajorVersion;
         SHELL32_MINOR = dvi.dwMinorVersion;
         SHELL32_VERSION = VERSION (SHELL32_MAJOR, SHELL32_MINOR);
+trace(__LINE__);
     }
 
     /* Flag used on WinCE */