Author Topic: The 08 october 2006 build is out.  (Read 17602 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
The 08 october 2006 build is out.
« on: October 08, 2006, 06:56:02 pm »
Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw26u_gcc_cb_wx2.6.3p2.7z

For those who might need this one (when no MingW installed on your system) : the mingw10m.dll : http://prdownload.berlios.de/codeblocks/mingwm10.7z

For support of ansi builds, a link to the ansi windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw26_gcc_cb_wx2.6.3p2.7z

The 08 October 2006 build is out.
  - Windows : http://prdownload.berlios.de/codeblocks/CB_20061008_rev3036_win32.7z
  - Linux :
         http://prdownload.berlios.de/codeblocks/CB_20061008_rev3036_Ubuntu6.06.deb (not yet)
         http://prdownload.berlios.de/codeblocks/CB_20061008_rev3036_suse100+101.rpm (not yet)


Resolved Fixed:

  • added (old, but overworked) lib_finder plugin to SVN (under contrib plugins)
  • Added info about error column and row numbers when the configuration can't be opened
  • Convert < and > to XML entities when saving strings in the configuration or else the XML file will become invalid and C::B won't open again until the configuration is deleted
  • Resolved all breakpoint-setting issues some people experienced.
      - Now uses relative filenames for breakpoints.
      - Allows setting breakpoints in paths with spaces.
      - Also allows gdb-5.2 to be used with C::B again (tested and working)
  • Watching arrays with gdb has been improved
  • Added debugger configuration option for max # of elements an array must have in order to be displayed on a single line

Regressions/Confirmed/Annoying/Common bugs:

  • toolbar-images-not-changing-state (is a wx problem/Win XP problem)
  • menu items with icon not correctly aligned (since wx263)


Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 08 october 2006 build is out.
« Reply #1 on: October 08, 2006, 07:33:52 pm »
Convert < and > to XML entities when saving strings in the configuration or else the XML file will become invalid and C::B won't open again until the configuration is deleted
Please allow a stupid question: what if I actually want to store the strings &lt; and &gt; in the config? For example, this might happen with the MRU list of the search dialog.
Without having & escaped as well, the parser won't know?
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline artoj

  • Almost regular
  • **
  • Posts: 206
  • Location: Supporting my team
    • http://ajonsson.kapsi.fi/
Re: The 08 october 2006 build is out.
« Reply #2 on: October 08, 2006, 07:49:47 pm »
Convert < and > to XML entities when saving strings in the configuration or else the XML file will become invalid and C::B won't open again until the configuration is deleted

...and why aren't these escaped automatically? In Code snippets plugin I haven't done anything to escape special characters because TinyXML already does that for me.

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 08 october 2006 build is out.
« Reply #3 on: October 08, 2006, 08:23:42 pm »
Good question.

The reason why it happens for the ConfigManager, but not for the code snippets plugin is that you save your Data as attribute, while ConfigManager saves its data as string data.

Now... I know why it is different for you and me, but I don't know why it is not escaped... in my opinion, it should be. I am asking TinyXML to attach a string node to the DOM and pass an UTF-8 string to be filled in. I am not asking the library to insert an arbitrary string into the xml text, but to store it in a node.
So... uh... I guess this should actually modify the DOM in whatever way is appropriate. Then later, when the DOM is converted to a xml text document, the string data (whatever it is), should be properly escaped? That's what I would expect to happen, at least. Maybe I am wrong.

However, I dare not ask Lee about it, because I already bugged him with a TinyXML problem last week which turned out to be my fault... :)
After updating TinyXML from 2.4.2 to 2.5.2, I suddenly found Code::Blocks crashing for no apparent reason (did not change one line of code otherwise). Stepping through the code the next morning, I found that it obviously had to crash, as my code was obviously dereferencing a null pointer.
Indeed, I was surprised that it ever worked. There is no way ConfigManager could ever not have crashed at startup... but as it happens, the very same piece of Code has been working fine since November 2005.
So, it is kind of embarassing if you email someone and ask him "erm, any idea why this latest version of your library crashes?" and then it turns out it was your code... :lol:
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

zero

  • Guest
Re: The 08 october 2006 build is out.
« Reply #4 on: October 08, 2006, 08:28:10 pm »
I am unable to build Code::Blocks from SVN since yesterday. Compiler error output:
Quote
dirlistdlg.cpp: In member function 'void DirListDlg::OnButton1Click(wxCommandEvent&)':
dirlistdlg.cpp:56: error: '::wxDirSelector' has not been declared


linux/unicode, gcc 4.1.1

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: The 08 october 2006 build is out.
« Reply #5 on: October 08, 2006, 09:08:10 pm »
I am unable to build Code::Blocks from SVN since yesterday. Compiler error output:
Quote
dirlistdlg.cpp: In member function 'void DirListDlg::OnButton1Click(wxCommandEvent&)':
dirlistdlg.cpp:56: error: '::wxDirSelector' has not been declared


linux/unicode, gcc 4.1.1

fixed : rev 3037

Offline szczepan

  • Multiple posting newcomer
  • *
  • Posts: 42
Re: The 08 october 2006 build is out.
« Reply #6 on: October 08, 2006, 09:42:27 pm »
I am unable to build Code::Blocks from SVN since yesterday. Compiler error output:
Quote
dirlistdlg.cpp: In member function 'void DirListDlg::OnButton1Click(wxCommandEvent&)':
dirlistdlg.cpp:56: error: '::wxDirSelector' has not been declared


linux/unicode, gcc 4.1.1

fixed : rev 3037

Not fixed for me:

Quote
dirlistdlg.cpp: In member function 'void DirListDlg::OnButton1Click(wxCommandEvent&)':
dirlistdlg.cpp:58: error: '::wxDirSelector' has not been declared

The error moved two lines down.

Linux/unicode, gcc 4.1.1, same as zero.

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: The 08 october 2006 build is out.
« Reply #7 on: October 08, 2006, 10:56:00 pm »
damn, the required header is : <wx/dirdlg.h>, which is one I added.
The only thing I can see in that header is that : 'wxUSE_DIRDLG' is not defined so the declaration is not active. No idea yet why that define would not be active .....

julienlecomte

  • Guest
Re: The 08 october 2006 build is out.
« Reply #8 on: October 09, 2006, 12:59:49 am »
  • Convert < and > to XML entities when saving strings in the configuration or else the XML file will become invalid and C::B won't open again until the configuration is deleted

Thanks !

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The 08 october 2006 build is out.
« Reply #9 on: October 09, 2006, 01:38:56 am »
And now... guess what!

I took a revision 2032 working copy (without Yiannis' escape patch) and replaced the TinyXML files with the old ones from 2.4.2. It works just perfect.  :shock:

So 2.4.2 does escape special chars, and 2.5.2 does not.
The question that remains is whether that is intentional or a bug.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

lfm

  • Guest
Re: The 08 october 2006 build is out.
« Reply #10 on: October 09, 2006, 04:49:02 am »
Quote
dirlistdlg.cpp: In member function 'void DirListDlg::OnButton1Click(wxCommandEvent&)':
dirlistdlg.cpp:58: error: '::wxDirSelector' has not been declared

I'm using: rev 3038, Everest Linux 0.2 / unicode, gcc 4.1.1
« Last Edit: October 09, 2006, 04:50:49 am by lfm »

Offline szczepan

  • Multiple posting newcomer
  • *
  • Posts: 42
Re: The 08 october 2006 build is out.
« Reply #11 on: October 09, 2006, 05:06:46 am »
damn, the required header is : <wx/dirdlg.h>, which is one I added.
The only thing I can see in that header is that : 'wxUSE_DIRDLG' is not defined so the declaration is not active. No idea yet why that define would not be active .....

I suppose it is because you #include <wx/dirdlg.h> in the first line, before you include <wx/wx.h> via the unit's header. Anyway, moving #include <wx/dirdlg.h> just under #include "dirlistdlg.h" gets dirlistdlg.cpp to compile. However, there are further compilation errors:

lib_finder.cpp:
needs #include "configmanager.h" to compile.

libraryconfigmanager.cpp:
Quote
libraryconfig.h:7: error: 'wxString' does not name a type
libraryconfig.h:10: error: 'wxString' does not name a type
libraryconfig.h:22: error: 'wxArrayString' does not name a type
libraryconfig.h:30: error: 'wxArrayString' does not name a type
libraryconfig.h:38: error: 'wxArrayString' does not name a type
libraryconfig.h:46: error: 'wxArrayString' does not name a type
libraryconfig.h:51: error: 'wxString' does not name a type
libraryconfig.h:56: error: 'wxString' does not name a type
libraryconfigmanager.h:23: error: expected ',' or '...' before '&' token
libraryconfigmanager.h:23: error: ISO C++ forbids declaration of 'wxString' with no type
libraryconfigmanager.h:36: error: expected ',' or '...' before '&' token
libraryconfigmanager.h:36: error: ISO C++ forbids declaration of 'wxString' with no type
libraryconfigmanager.h:40: error: 'wxArrayString' has not been declared
libraryconfigmanager.h:41: error: 'wxArrayString' has not been declared
libraryconfigmanager.h:42: error: 'wxArrayString' has not been declared
libraryconfigmanager.h:43: error: 'wxArrayString' has not been declared
libraryconfigmanager.h:44: error: 'wxString' has not been declared
libraryconfigmanager.h:45: error: 'wxString' has not been declared
libraryconfigmanager.cpp:21: error: prototype for 'void LibraryConfigManager::LoadXmlConfig(const wxString&)' does not match any in class 'LibraryConfigManager'
libraryconfigmanager.h:23: error: candidate is: void LibraryConfigManager::LoadXmlConfig(int)
libraryconfigmanager.cpp: In member function 'void LibraryConfigManager::LoadXmlConfig(const wxString&)':
libraryconfigmanager.cpp:23: error: 'wxLogNull' was not declared in this scope
libraryconfigmanager.cpp:23: error: expected `;' before 'LogNull'
libraryconfigmanager.cpp:33: error: 'wxFileName' has not been declared
libraryconfigmanager.cpp:42: error: 'wxFileName' has not been declared
libraryconfigmanager.cpp: At global scope:
libraryconfigmanager.cpp:48: error: prototype for 'void LibraryConfigManager::LoadXmlFile(const wxString&)' does not match any in class 'LibraryConfigManager'
libraryconfigmanager.h:36: error: candidate is: void LibraryConfigManager::LoadXmlFile(int)
libraryconfigmanager.cpp: In member function 'void LibraryConfigManager::LoadXmlFile(const wxString&)':
libraryconfigmanager.cpp:69: error: no matching function for call to 'LibraryConfigManager::LoadXmlDefaults(TiXmlElement*&, wxArrayString&, wxArrayString&, wxArrayString&, wxArrayString&, wxString&, wxString&)'
libraryconfigmanager.h:45: note: candidates are: void LibraryConfigManager::LoadXmlDefaults(TiXmlElement*, int&, int&, int&, int&, int&, int&)
libraryconfigmanager.cpp:78: error: 'struct LibraryConfig' has no member named 'LibraryName'
libraryconfigmanager.cpp:79: error: 'struct LibraryConfig' has no member named 'GlobalVar'
libraryconfigmanager.cpp:80: error: 'struct LibraryConfig' has no member named 'FileNames'
libraryconfigmanager.cpp:81: error: 'struct LibraryConfig' has no member named 'IncludePaths'
libraryconfigmanager.cpp:82: error: 'struct LibraryConfig' has no member named 'LibPaths'
libraryconfigmanager.cpp:83: error: 'struct LibraryConfig' has no member named 'ObjPaths'
libraryconfigmanager.cpp:84: error: 'struct LibraryConfig' has no member named 'CFlags'
libraryconfigmanager.cpp:85: error: 'struct LibraryConfig' has no member named 'LFlags'
libraryconfigmanager.cpp:89: error: 'struct LibraryConfig' has no member named 'FileNames'
libraryconfigmanager.cpp:90: error: 'struct LibraryConfig' has no member named 'IncludePaths'
libraryconfigmanager.cpp:91: error: 'struct LibraryConfig' has no member named 'LibPaths'
libraryconfigmanager.cpp:92: error: 'struct LibraryConfig' has no member named 'ObjPaths'
libraryconfigmanager.cpp:93: error: 'struct LibraryConfig' has no member named 'CFlags'
libraryconfigmanager.cpp:94: error: 'struct LibraryConfig' has no member named 'LFlags'
libraryconfigmanager.cpp:97: error: 'struct LibraryConfig' has no member named 'LibraryName'
libraryconfigmanager.cpp:115: error: 'struct LibraryConfig' has no member named 'LibraryName'
libraryconfigmanager.cpp:116: error: 'struct LibraryConfig' has no member named 'GlobalVar'
libraryconfigmanager.cpp:117: error: 'struct LibraryConfig' has no member named 'FileNames'
libraryconfigmanager.cpp:118: error: 'struct LibraryConfig' has no member named 'IncludePaths'
libraryconfigmanager.cpp:119: error: 'struct LibraryConfig' has no member named 'LibPaths'
libraryconfigmanager.cpp:120: error: 'struct LibraryConfig' has no member named 'ObjPaths'
libraryconfigmanager.cpp:121: error: 'struct LibraryConfig' has no member named 'CFlags'
libraryconfigmanager.cpp:122: error: 'struct LibraryConfig' has no member named 'LFlags'
libraryconfigmanager.cpp: At global scope:
libraryconfigmanager.cpp:143: error: prototype for 'void LibraryConfigManager::LoadXmlDefaults(TiXmlElement*, wxArrayString&, wxArrayString&, wxArrayString&, wxArrayString&, wxString&, wxString&)' does not match any in class 'LibraryConfigManager'
libraryconfigmanager.h:45: error: candidate is: void LibraryConfigManager::LoadXmlDefaults(TiXmlElement*, int&, int&, int&, int&, int&, int&)
libraryconfigmanager.cpp: In member function 'bool LibraryConfigManager::CheckConfig(LibraryConfig*)':
libraryconfigmanager.cpp:186: error: 'struct LibraryConfig' has no member named 'LibraryName'
libraryconfigmanager.cpp:187: error: 'struct LibraryConfig' has no member named 'FileNames'
libraryconfigmanager.cpp:188: error: 'struct LibraryConfig' has no member named 'GlobalVar'

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: The 08 october 2006 build is out.
« Reply #12 on: October 09, 2006, 08:07:54 am »
fixed some of those issues, the first one I am still in doubt, but did change the order of include, could you check please (not in linux for the moment)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: The 08 october 2006 build is out.
« Reply #13 on: October 09, 2006, 09:20:02 am »
guess what : after a boost of commits --> it builds on linux (tested on my laptop, which did not have commit rights in linux, so switching between pc's and hoping that every commit would have been the end ;-) )

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: The 08 october 2006 build is out.
« Reply #14 on: October 09, 2006, 09:23:57 am »
guess what : after a boost of commits --> it builds on linux (tested on my laptop, which did not have commit rights in linux, so switching between pc's and hoping that every commit would have been the end ;-) )
Oh dear... I've followed you changes. I'm really sorry that you got "blamed" - but at least I warned you (in the PM) that linux support might cause trouble... ;-) Thanks a lot for the hard work!!! :P
In a minute I have again access to a machine not supporting PCH... we will see where this will take us...
With regards, Morten.

Edit: Excellent! It builds also for non-PCH. Great! :-)
« Last Edit: October 09, 2006, 09:27:14 am by MortenMacFly »
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ