hi all, i got a bug using codeblocks with windows xp.
while opening multiple source files via explorer (rightclicking them and then selecting open), codeblocks opens the source files one by one crashing each time till the last file. i got this crash log:
AppName: codeblocks.exe AppVer: 0.0.0.0 ModName: comctl32.dll
ModVer: 6.0.2900.2982 Offset: 00051984
i think codeblocks should simultaneously open the files in tabs.
i'm using the actual nightly. i think i've found the problem: i get the error only opening the files via right click -> open in the explorer menu interface, while everything goes ok when i do it via the file -> open command of codeblocks.
You can try the following:
- open "Settings -> Environment -> General Settings"
- make sure the Checkbox "Check & set file associations (Win dows only)" is checked
- Click "Manage..."
- Click "Remove all"
- Click "Apply" (you might have to reopen the "Manage associations" dialog first)
- Close C::B
- if you now click on a cpp-file it should ask for an application to open it
- cancel the dialog
- start C::B
- if it now asks whether it should set the file-associations
- chose one of the radio-buttons with yes
- click "OK"
- close C::B
- try to open one or multiple files assiciated with C::B again
Please post if it works.
If it does not: is there any dialog opened if it does not work or is C::B crashing silently.
Is C::B generating a file named "codeblocks.RPT" in the dirfectory where the exe is ?
If yes, can you post it ?
thank you for your support. i've tried to do what you said, but i still got the crash. here's the crash report found in the codeblocks.rpt file:
Error occured on Monday, September 1, 2008 at 15:16:03.
C:\Programmi\CodeBlocks\codeblocks.exe caused an Access Violation at location 773f1984 in module C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\COMCTL32.DLL Reading from location 0228b908.
Registers:
eax=00000001 ebx=ffffffff ecx=00001029 edx=773f0c82 esi=00279960 edi=0228b8f8
eip=773f1984 esp=0022f54c ebp=0022f6a0 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
Call stack:
773F1984 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\COMCTL32.DLL:773F1984 Ordinal384
7E398734 C:\WINDOWS\system32\USER32.dll:7E398734 GetDC
7E398816 C:\WINDOWS\system32\USER32.dll:7E398816 GetDC
7E39C63F C:\WINDOWS\system32\USER32.dll:7E39C63F IsWindowUnicode
7E39C665 C:\WINDOWS\system32\USER32.dll:7E39C665 CallWindowProcW
6CD14EEA C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CD14EEA _ZN8wxWindow16MSWDefWindowProcEjjl
6CD1B622 C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CD1B622 _ZN8wxWindow13MSWWindowProcEjjl
6CD147A1 C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CD147A1 _Z9wxWndProcP6HWND__jjl@16
7E398734 C:\WINDOWS\system32\USER32.dll:7E398734 GetDC
7E398816 C:\WINDOWS\system32\USER32.dll:7E398816 GetDC
7E39B4C0 C:\WINDOWS\system32\USER32.dll:7E39B4C0 DefWindowProcW
7E39B50C C:\WINDOWS\system32\USER32.dll:7E39B50C DefWindowProcW
7C91EAE3 C:\WINDOWS\system32\ntdll.dll:7C91EAE3 KiUserCallbackDispatcher
6CCFC363 C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CCFC363 _ZN11wxEventLoop8DispatchEv
6CD90AE3 C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CD90AE3 _ZN17wxEventLoopManual3RunEv
6CD6E3EB C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CD6E3EB _ZN9wxAppBase8MainLoopEv
00403834 C:\Programmi\CodeBlocks\codeblocks.exe:00403834
6CC770AD C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CC770AD _Z12wxInitializeiPPw
6CCD21B8 C:\Programmi\CodeBlocks\wxmsw28u_gcc_cb.dll:6CCD21B8 _Z7wxEntryP11HINSTANCE__S0_Pci
00405D6E C:\Programmi\CodeBlocks\codeblocks.exe:00405D6E
0044ED48 C:\Programmi\CodeBlocks\codeblocks.exe:0044ED48
0040124B C:\Programmi\CodeBlocks\codeblocks.exe:0040124B
004012B8 C:\Programmi\CodeBlocks\codeblocks.exe:004012B8
7C816FD7 C:\WINDOWS\system32\kernel32.dll:7C816FD7 RegisterWaitForInputIdle
i got the crash when use the wxWidgets2.8.8 dll library. here's the crash report:
Error occured on Wednesday, September 3, 2008 at 10:21:47.
D:\Program Files\CodeBlocks\codeblocks.exe caused an Access Violation at location 0000002e Reading from location 0000002e.
Registers:
eax=03d5fd90 ebx=00bb1f40 ecx=77bfc2e3 edx=0689d4c8 esi=64c87b10 edi=0022fbf8
eip=0000002e esp=0022f60c ebp=0022f618 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
Call stack:
0000002E
67B5EC1A D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67B5EC1A _ZNK9wxProcess16IsInputAvailableEv
6189D16B D:\Program Files\CodeBlocks\codeblocks.dll:6189D16B _ZN12PipedProcess8HasInputEv
64BE1EAC D:\Program Files\CodeBlocks\share\codeblocks\plugins\compiler.dll:64BE1EAC
67BB6D8E D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB6D8E _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
67BB8489 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB8489 _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
67BB894F D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB894F _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67BB88F1 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BB88F1 _ZN12wxEvtHandler12ProcessEventER7wxEvent
67C97256 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67C97256 _ZN9wxAppBase14SendIdleEventsEP8wxWindowR11wxIdleEvent
67C97465 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67C97465 _ZN9wxAppBase11ProcessIdleEv
67CC5D30 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67CC5D30 _ZN17wxEventLoopManual3RunEv
67C97319 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67C97319 _ZN9wxAppBase8MainLoopEv
004044BE D:\Program Files\CodeBlocks\codeblocks.exe:004044BE
67B46FD6 D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67B46FD6 _Z12wxInitializeiPPw
67BC113F D:\Program Files\CodeBlocks\wxmsw28u_gcc.dll:67BC113F _Z7wxEntryP11HINSTANCE__S0_Pci
00407910 D:\Program Files\CodeBlocks\codeblocks.exe:00407910
00463FC8 D:\Program Files\CodeBlocks\codeblocks.exe:00463FC8
0040124B D:\Program Files\CodeBlocks\codeblocks.exe:0040124B
004012B8 D:\Program Files\CodeBlocks\codeblocks.exe:004012B8
7C817067 C:\WINDOWS\system32\kernel32.dll:7C817067 RegisterWaitForInputIdle
but Codeblocks is work well when i use the Codeblocks8.02's wxmsw28u_gcc_cb.dll, can i use it in this way?
coming this weekend :-)
killerbot: Can you apply this simple patch below?
It is a small part of my patches to get Code::Blocks working when linked against wxWidgets 2.9
As posted in this thread.
http://forums.codeblocks.org/index.php/topic,9210.msg65823.html#msg65823
The wxWidgets 2.9 has wxBitmapType as an enum instead of int.
And, wxColour::Ok was removed, since wxColour::IsOk was in wxWidgets 2.8
Index: src/sdk/scripting/bindings/sc_wxtypes.cpp
===================================================================
--- src/sdk/scripting/bindings/sc_wxtypes.cpp (revision 5206)
+++ src/sdk/scripting/bindings/sc_wxtypes.cpp (working copy)
@@ -276,7 +276,7 @@
func(&wxColour::Blue, "Blue").
func(&wxColour::Green, "Green").
func(&wxColour::Red, "Red").
- func(&wxColour::Ok, "Ok").
+ func(&wxColour::IsOk, "IsOk").
func<WXC_SET>(&wxColour::Set, "Set");
}
};
Index: src/sdk/globals.cpp
===================================================================
--- src/sdk/globals.cpp (revision 5206)
+++ src/sdk/globals.cpp (working copy)
@@ -711,7 +711,7 @@
}
#endif
-wxBitmap cbLoadBitmap(const wxString& filename, int bitmapType)
+wxBitmap cbLoadBitmap(const wxString& filename, wxBitmapType bitmapType)
{
// cache this, can't change while we 're running :)
static bool oldCommonControls = !UsesCommonControls6();
Index: src/include/globals.h
===================================================================
--- src/include/globals.h (revision 5206)
+++ src/include/globals.h (working copy)
@@ -194,7 +194,7 @@
* Always use this to load bitmaps because it takes care of various
* issues with pre-XP windows (actually common controls < 6.00).
*/
-extern DLLIMPORT wxBitmap cbLoadBitmap(const wxString& filename, int bitmapType = wxBITMAP_TYPE_PNG);
+extern DLLIMPORT wxBitmap cbLoadBitmap(const wxString& filename, wxBitmapType bitmapType = wxBITMAP_TYPE_PNG);
// compatibility function
inline wxBitmap LoadPNGWindows2000Hack(const wxString& filename){ return cbLoadBitmap(filename); }
I decided I needed to verify Code::Blocks builds using ANSI instead of Unicode wxWidgets 2.9.
Before any of my patches and compiling with wx 2.8 branch, I get about 30 warnings on printf type format strings.
Here's an example patch needed by Code::Blocks, to get rid of the warnings.
The rest are all debuggergdb plugin or contrib plugins.
Tim S
Index: src/sdk/compiler.cpp
===================================================================
--- src/sdk/compiler.cpp (revision 5208)
+++ src/sdk/compiler.cpp (working copy)
@@ -597,7 +597,7 @@
m_Commands[i].push_back(CompilerTool());
CompilerTool& tool = m_Commands[i][index];
- wxString key = wxString::Format(_T("%s/macros/%s/tool%d/"), tmp.c_str(), CommandTypeDescriptions[i].c_str(), index);
+ wxString key = wxString::Format(_T("%s/macros/%s/tool%lu/"), tmp.c_str(), CommandTypeDescriptions[i].c_str(), index);
tool.command = cfg->Read(key + _T("command"));
tool.extensions = cfg->ReadArrayString(key + _T("extensions"));
tool.generatedFiles = cfg->ReadArrayString(key + _T("generatedFiles"));
@@ -649,7 +649,7 @@
// read everything and either assign it to an existing regex
// if the index exists, or add a new regex
- group.Printf(_T("%s/regex/re%3.3d"), tmp.c_str(), index);
+ group.Printf(_T("%s/regex/re%3.3ld"), tmp.c_str(), index);
if (!cfg->Exists(group+_T("/description")))
continue;