News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

WIN98 ansi build crashes

Started by tiwag, September 12, 2006, 02:03:06 AM

Previous topic - Next topic

tiwag

Quote from: mandrav on September 11, 2006, 09:17:30 PM
Check the logs. Sounds like it's picking up wrong DLLs.
how could i check this ?
but it seems not to be a dll problem ...

i've rebuild the whole CB & contribs with the winver macros

-D_WIN32_WINDOWS=0x0400
-DWINVER=0x0400
-D_WIN32_IE=IE55

with a small hope, that it would help anything -  but  it doesn't ...   :x

whenever any of the astyle, codecompletion, keybinder or wxsmith plugin is activated,   :shock:
it crashes when it wants to get the dlg* from the plugin (Menu Settings -> Editor )
PluginManager::GetConfigurationPanels(int, wxWindow*, ConfigurationPanelsArray&)  D:/devel/CodeBlocks/trunk_ansi/src/sdk/pluginmanager.cpp:461

interesting is, that it does not crash with the dragscroll plugin enabled ( Settings dialog shown normally, no crash )   :)

attached is the rpt file (running the ansi build devel version on Win98-SE)
maybe you get some hints out of it ...   :P

[attachment deleted by admin]

sethjackson

Hey tiwag this stands out to me.

EnumSystemCodePagesW
CopyFileExW

HUH how is an ansi build of C::B using a Unicode Win API function. Odd....  :shock:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/copyfileex.asp


tiwag

till now i found only one unicode / ansi bug in the CB source in cbexception.h


Index: D:/devel/CodeBlocks/trunk_ansi/src/sdk/cbexception.h
===================================================================
--- D:/devel/CodeBlocks/trunk_ansi/src/sdk/cbexception.h (revision 2971)
+++ D:/devel/CodeBlocks/trunk_ansi/src/sdk/cbexception.h (working copy)
@@ -31,7 +31,7 @@
int Line; ///< The line in the file where the exception was raised.
};

-#ifdef wxUSE_UNICODE
+#if wxUSE_UNICODE
     #define cbThrow(message) throw cbException(message, cbC2U(__FILE__), __LINE__)
#else
     #define cbThrow(message) throw cbException(message, __FILE__, __LINE__)
@@ -50,14 +50,14 @@
         #define DIE() kill(0, SIGTERM)
     #endif

-    #ifdef wxUSE_UNICODE
+    #if wxUSE_UNICODE
         #define cbAssertMessage(expr) \
             wxString err; \
             err.Printf(_T("Assertion failed in %s at %s:%d.\n\n%s"), cbC2U(__PRETTY_FUNCTION__).c_str(), cbC2U(__FILE__).c_str(), __LINE__, cbC2U(#expr).c_str());
     #else
         #define cbAssertMessage(expr) \
             wxString err; \
-            err.Printf(_T("Assertion failed in %s at %s:%d.\n\n%s"), __PRETTY_FUNCTION__.c_str(), __FILE__.c_str(), __LINE__, #expr.c_str());
+            err.Printf(_T("Assertion failed in %s at %s:%d.\n\n%s"), __PRETTY_FUNCTION__, __FILE__, __LINE__, #expr);
     #endif

     // non-fatal assertion



wxUSE_UNICODE is always defined, therefore it has to be checked with
#if wxUSE_UNICODE


and not with
#ifdef wxUSE_UNICODE


but it doesn't solve the crash   :(

any other ideas ??

tiwag

#3
i've given up  :(

don't know from where the

EnumSystemCodePagesW
CopyFileExW

are coming in the ANSI build of CB,

but they are referenced in the sdk.h.gch and sdk_precomp.h.gch but nowhere in wxWidgets or in the MingW w32api-3.7
somehow they get linked in  :shock:

I've also tested with MinGW gcc 3.4.4 and 3.4.5, but it's the same  :x

also tried to build CB on Win98 using MinGW gcc 3.4.4 - same result - same crash :x


if someone want's to investigate and can solve this puzzle, please let me know ...