<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Biplab's Blog &#187; wxWidgets</title>
	<atom:link href="http://biplab.in/category/wxwidgets/feed/" rel="self" type="application/rss+xml" />
	<link>http://biplab.in</link>
	<description>About My Passion</description>
	<lastBuildDate>Sun, 26 Apr 2009 03:37:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>File permission bug of C::B</title>
		<link>http://biplab.in/2008/06/file-permission-bug-of-cb/</link>
		<comments>http://biplab.in/2008/06/file-permission-bug-of-cb/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 16:11:07 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=58</guid>
		<description><![CDATA[A nasty bug was discovered by one of our user couple of months ago. The bug was affecting our last stable release as well as our latest nightly. The bug was due to the way a file was being saved by C::B to avoid corrupting the existing file. C::B used to write the new contents [...]]]></description>
			<content:encoded><![CDATA[<p>A nasty bug was discovered by one of our user couple of months ago. The bug was affecting our last stable release as well as our latest nightly.</p>
<p>The bug was due to the way a file was being saved by C::B to avoid corrupting the existing file. C::B used to write the new contents to a temporary file before deleting the old one and then renaming the temp file to new file. But this created a bug as the temporary file may/may not get the file permission attributes of the original.<span id="more-58"></span></p>
<p>Following patch has been committed into latest svn trunk which fixes this issue.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #000040;">---</span> <span style="color: #000040;">/</span>trunk<span style="color: #000040;">/</span>src<span style="color: #000040;">/</span>sdk<span style="color: #000040;">/</span>filemanager.<span style="color: #007788;">cpp</span>	<span style="color: #0000dd;">2008</span><span style="color: #000040;">/</span><span style="color: #208080;">06</span><span style="color: #000040;">/</span><span style="color: #0000dd;">22</span> <span style="color: #0000dd;">11</span><span style="color: #008080;">:</span><span style="color: #208080;">05</span><span style="color: #008080;">:</span><span style="color: #0000dd;">11</span>	<span style="color: #0000dd;">5103</span>
<span style="color: #000040;">+++</span> trunk<span style="color: #000040;">/</span>src<span style="color: #000040;">/</span>sdk<span style="color: #000040;">/</span>filemanager.<span style="color: #007788;">cpp</span>	<span style="color: #0000dd;">2008</span><span style="color: #000040;">/</span><span style="color: #208080;">06</span><span style="color: #000040;">/</span><span style="color: #0000dd;">22</span> <span style="color: #0000dd;">15</span><span style="color: #008080;">:</span><span style="color: #0000dd;">57</span><span style="color: #008080;">:</span><span style="color:#800080;">09</span>	<span style="color: #0000dd;">5104</span>
@@ <span style="color: #000040;">-</span><span style="color: #0000dd;">58</span>,<span style="color: #0000dd;">7</span> <span style="color: #000040;">+</span><span style="color: #0000dd;">58</span>,<span style="color: #0000dd;">7</span> @@
     len <span style="color: #000080;">=</span> file.<span style="color: #007788;">Length</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
     data <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#91;</span>len<span style="color: #000040;">+</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">-</span>	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>dp <span style="color: #000080;">=</span> data <span style="color: #000040;">+</span> len<span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>dp <span style="color: #000080;">=</span> data <span style="color: #000040;">+</span> len<span style="color: #008080;">;</span>
     <span style="color: #000040;">*</span>dp<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
     <span style="color: #000040;">*</span>dp<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
     <span style="color: #000040;">*</span>dp<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
@@ <span style="color: #000040;">-</span><span style="color: #0000dd;">100</span>,<span style="color: #0000dd;">7</span> <span style="color: #000040;">+</span><span style="color: #0000dd;">100</span>,<span style="color: #0000dd;">7</span> @@
&nbsp;
     data <span style="color: #000080;">=</span> buffer.<span style="color: #007788;">Data</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
     len <span style="color: #000080;">=</span> buffer.<span style="color: #007788;">Length</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">-</span>	buffer.<span style="color: #007788;">Append</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #006699; font-weight: bold;">\0</span><span style="color: #006699; font-weight: bold;">\0</span><span style="color: #006699; font-weight: bold;">\0</span><span style="color: #006699; font-weight: bold;">\0</span>&quot;</span>, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    buffer.<span style="color: #007788;">Append</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #006699; font-weight: bold;">\0</span><span style="color: #006699; font-weight: bold;">\0</span><span style="color: #006699; font-weight: bold;">\0</span><span style="color: #006699; font-weight: bold;">\0</span>&quot;</span>, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
     Ready<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #008000;">&#125;</span>
&nbsp;
@@ <span style="color: #000040;">-</span><span style="color: #0000dd;">274</span>,<span style="color: #0000dd;">19</span> <span style="color: #000040;">+</span><span style="color: #0000dd;">274</span>,<span style="color: #0000dd;">40</span> @@
     wxString tempName<span style="color: #008000;">&#40;</span>name <span style="color: #000040;">+</span> _T<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;.cbTemp&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
     <span style="color: #0000ff;">do</span>
     <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">-</span>        wxFile f<span style="color: #008000;">&#40;</span>tempName, wxFile<span style="color: #008080;">::</span><span style="color: #007788;">write</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">-</span>        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>f.<span style="color: #007788;">IsOpened</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span> <span style="color: #000040;">!</span>wxCopyFile<span style="color: #008000;">&#40;</span>name, tempName<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#123;</span>
             <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #000040;">+</span>        wxFile f<span style="color: #008000;">&#40;</span>name, wxFile<span style="color: #008080;">::</span><span style="color: #007788;">write</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">!</span>f.<span style="color: #007788;">IsOpened</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">+</span>            <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#125;</span>
         <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>f.<span style="color: #007788;">Write</span><span style="color: #008000;">&#40;</span>data, len<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> len<span style="color: #008000;">&#41;</span>
         <span style="color: #008000;">&#123;</span>
             f.<span style="color: #007788;">Close</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">-</span>            wxRemoveFile<span style="color: #008000;">&#40;</span>tempName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>            <span style="color: #666666;">// Keep the backup file as the original file has been destroyed</span>
<span style="color: #000040;">+</span>            <span style="color: #666666;">//wxRemoveFile(tempName);</span>
             <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
         <span style="color: #008000;">&#125;</span>
<span style="color: #000040;">+</span>
<span style="color: #000040;">+</span>        f.<span style="color: #007788;">Close</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>
     <span style="color: #008000;">&#125;</span><span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #000040;">-</span>    <span style="color: #0000ff;">return</span> ReplaceFile<span style="color: #008000;">&#40;</span>name, tempName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Manager<span style="color: #008080;">::</span><span style="color: #007788;">IsAppShuttingDown</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">+</span>        <span style="color: #666666;">// app shut down, forget delayed deletion</span>
<span style="color: #000040;">+</span>        wxRemoveFile<span style="color: #008000;">&#40;</span>tempName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#125;</span>
<span style="color: #000040;">+</span>    <span style="color: #0000ff;">else</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">+</span>        <span style="color: #666666;">// issue a delayed deletion of the back'd up (old) file</span>
<span style="color: #000040;">+</span>        delayedDeleteThread.<span style="color: #007788;">Queue</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">new</span> DelayedDelete<span style="color: #008000;">&#40;</span>tempName<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#125;</span>
<span style="color: #000040;">+</span>
<span style="color: #000040;">+</span>    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
 <span style="color: #008000;">&#125;</span>
&nbsp;
 <span style="color: #0000ff;">bool</span> FileManager<span style="color: #008080;">::</span><span style="color: #007788;">Save</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> wxString<span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> name, <span style="color: #0000ff;">const</span> wxString<span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> data, wxFontEncoding encoding, <span style="color: #0000ff;">bool</span> bom<span style="color: #008000;">&#41;</span>
@@ <span style="color: #000040;">-</span><span style="color: #0000dd;">309</span>,<span style="color: #0000dd;">19</span> <span style="color: #000040;">+</span><span style="color: #0000dd;">330</span>,<span style="color: #0000dd;">39</span> @@
     wxString tempName<span style="color: #008000;">&#40;</span>name <span style="color: #000040;">+</span> _T<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;.cbTemp&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
     <span style="color: #0000ff;">do</span>
     <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">-</span>        wxFile f<span style="color: #008000;">&#40;</span>tempName, wxFile<span style="color: #008080;">::</span><span style="color: #007788;">write</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">-</span>        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>f.<span style="color: #007788;">IsOpened</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>wxCopyFile<span style="color: #008000;">&#40;</span>name, tempName<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#123;</span>
             <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #000040;">+</span>        wxFile f<span style="color: #008000;">&#40;</span>name, wxFile<span style="color: #008080;">::</span><span style="color: #007788;">write</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">!</span>f.<span style="color: #007788;">IsOpened</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">+</span>            <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>        <span style="color: #008000;">&#125;</span>
         <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>WriteWxStringToFile<span style="color: #008000;">&#40;</span>f, data, encoding, bom<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span>
         <span style="color: #008000;">&#123;</span>
             f.<span style="color: #007788;">Close</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">-</span>            wxRemoveFile<span style="color: #008000;">&#40;</span>tempName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>            <span style="color: #666666;">// Keep the backup file as the original file has been destroyed</span>
<span style="color: #000040;">+</span>            <span style="color: #666666;">//wxRemoveFile(tempName);</span>
             <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
         <span style="color: #008000;">&#125;</span>
<span style="color: #000040;">+</span>
<span style="color: #000040;">+</span>        f.<span style="color: #007788;">Close</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>
     <span style="color: #008000;">&#125;</span><span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #000040;">-</span>    <span style="color: #0000ff;">return</span> ReplaceFile<span style="color: #008000;">&#40;</span>name, tempName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Manager<span style="color: #008080;">::</span><span style="color: #007788;">IsAppShuttingDown</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">+</span>        <span style="color: #666666;">// app shut down, forget delayed deletion</span>
<span style="color: #000040;">+</span>        wxRemoveFile<span style="color: #008000;">&#40;</span>tempName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#125;</span>
<span style="color: #000040;">+</span>    <span style="color: #0000ff;">else</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#123;</span>
<span style="color: #000040;">+</span>        <span style="color: #666666;">// issue a delayed deletion of the back'd up (old) file</span>
<span style="color: #000040;">+</span>        delayedDeleteThread.<span style="color: #007788;">Queue</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">new</span> DelayedDelete<span style="color: #008000;">&#40;</span>tempName<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #000040;">+</span>    <span style="color: #008000;">&#125;</span>
<span style="color: #000040;">+</span>    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
 <span style="color: #008000;">&#125;</span>
&nbsp;
 <span style="color: #0000ff;">bool</span> FileManager<span style="color: #008080;">::</span><span style="color: #007788;">ReplaceFile</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> wxString<span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> old_file, <span style="color: #0000ff;">const</span> wxString<span style="color: #000040;">&amp;</span>amp<span style="color: #008080;">;</span> new_file<span style="color: #008000;">&#41;</span></pre></div></div>

<p><br class="spacer_" /></p>
<p>The patch is required for our last release (version 8.02).</p>
<p>Thanks for the bug report.</p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2008/06/file-permission-bug-of-cb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unicode Support in Code::Blocks</title>
		<link>http://biplab.in/2007/10/unicode-support-in-codeblocks/</link>
		<comments>http://biplab.in/2007/10/unicode-support-in-codeblocks/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 16:08:08 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/2007/10/26/unicode-support-in-codeblocks/</guid>
		<description><![CDATA[Code::Blocks (C::B) had a long known problem of crashing / locking up while an accented character is used in the code. Or even worse when the encoding of a file is changed from one encoding to another. It was able to support upto UTF-8 encoding with occasional lock-up. I started working on this around 2-3 [...]]]></description>
			<content:encoded><![CDATA[<p>Code::Blocks (C::B) had a long known problem of crashing / locking up while an accented character is used in the code. Or even worse when the encoding of a file is changed from one encoding to another. It was able to support upto UTF-8 encoding with occasional lock-up.</p>
<p>I started working on this around 2-3 months back. But during testing we found that C::B still hangs and it is due to Code-Completion (CC) plugin. The issue was due to the presence of some ANSI functions in Code-Completion parser. Morten then started his work to fix this. It almost resulted to a small re-write of Code-Completion. And we could finally test our Unicode changes with CC enabled.</p>
<p>We tested it for couple of weeks before we found it to be stable enough for further real-life testing by our users. In revision 4548, the first collection of patches were committed (including Morten&#8217;s patch on CC). Few users posted some issues which were then quickly resolved. As of writing, the code seems to be quite stable.</p>
<p><strong>So what are the changes that have been made??</strong></p>
<p>There were a number of changes that has been made.</p>
<ol>
<li>Encoding detection code has been improved by using a portion of MadEdit&#8217;s encoding detection code. Currently it can detect, UTF-8, UTF-16 BE/LE, UTF-32 BE/LE with/without BOM. The fall back code has been kept to ANSI (CP-1252 on Windows).</li>
<li>Encoding conversion routine has been overhauled. Now it converts back and forth all supported encodings flawlessly.</li>
<li>Now all the encoding detection and conversion code is much more efficient as it involves minimum disk reads and most of the operation is done in memory buffers (Thanks Thomas for keeping this strict criteria).</li>
<li>The file load routine has been moved from a all in one load-plus-encoding detection code to efficiently distributed code.</li>
<li>File save routine was overhauled to save files with all supported encodings.</li>
<li>Project load routine has been tweaked to reduce the stalling while opening a large project with a large number of open files in it.</li>
<li>Morten made CC parser Unicode compliant so that it can now parse any files without a single lock-up.</li>
</ol>
<p>I would request users to use Build Revision 4553 onwards to get the most benefit out of it. Please post any related issues in the forum itself. <img src='http://biplab.in/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/10/unicode-support-in-codeblocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code::Blocks July Month Update Summary</title>
		<link>http://biplab.in/2007/08/codeblocks-july-month-update-summary/</link>
		<comments>http://biplab.in/2007/08/codeblocks-july-month-update-summary/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 07:08:27 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/2007/08/10/codeblocks-july-month-update-summary/</guid>
		<description><![CDATA[After another month long development of Code::Blocks (C::B) by the C::B Dev Team (including me), we made the following modification / improvements. Apart from adding couple of newer features we&#8217;ve fixed a number of annoying bugs, improved the stability and usability of it. The following changelog is based on SVN Commit History of July 2007. [...]]]></description>
			<content:encoded><![CDATA[<p>After another month long development of Code::Blocks (C::B) by the C::B Dev Team (including me), we made the following modification / improvements. Apart from adding couple of newer features we&#8217;ve fixed a number of annoying bugs, improved the stability and usability of it.</p>
<p>The following changelog is based on SVN Commit History of July 2007. Please note that this is not a Release Announcement and the changelog contains the commit made by <em>entire C::B Dev Team</em> in July 2007.</p>
<p>BTW, C::B has not won the <em>SourceForge.net 2007 Community Choice Award</em> as a <em>Best Tool or Utility for Developers</em>. I would like to thank you all on behalf of C::B team for supporting &amp; voting us and putting us in the final list.</p>
<p><strong>Summary</strong></p>
<ul>
<li>Added support for additional resource files to be added in resource package. This means now plugins can freely install extra icons and other resource files to the share folder of C::B.</li>
<li>Added support for version detection of compilers during runtime. This is currently used for GCC (MinGW) compiler. This adds the possibility to detect a compiler version and appropriately turn off incompatible/deprecated compiler options between versions.</li>
<li>Code-completion got a number of updates. It&#8217;s parser received some long-demanded updates and fixes.</li>
<li>Added support for Tooltips of variable, objects in the editor.</li>
<li>Project import code has been moved from SDK to a new plugin &#8220;Projects Importer&#8221;.</li>
<li>Added support for Remote Debugging.</li>
</ul>
<p>Detailed changelog is as follows.<span id="more-51"></span></p>
<p><strong> Core</strong><br />
* Create locale subfolder at startup, turn off wxWidgets message<br />
* Removed unneeded global variables<br />
* Binary .cbplugin files can now contain icons for the &#8220;Settings&#8221; dialogs. The two supported icon files should be named &lt;plugin_name&gt;.png and &lt;plugin_name&gt;-off.png.<br />
* Updated all settings dialogs to locate icons through configmanager.<br />
* If a settings icon for a plugin cannot be located, the generic-plugin icon will be used.<br />
* Fix in annoying dialog: do not use wxStdDialogButtonSizer if using custom button IDs (they are not accepted and the dialog layout is screwed).<br />
* Plugins manifest XML expanded to allow for extra files being installed/exported/uninstalled.<br />
* Fixed crash in symbols browser under certain circumstances (bug #11433).<br />
* Exposed to scripts CompileTargetBase::SetTargetFilenameGenerationPolicy (bug #11019).<br />
* Display replace-operation summary (bug #11472, patch #2083).<br />
* Exposed _() to scripts for translated strings (bug #10297, patch #2020).<br />
* Fixed bug with &#8220;pause when execution ends&#8221; target checkbox (bug #11235).<br />
* Added &#8220;File-&gt;Save all&#8221; which saves everything: files, projects and workspace (patch #2044).<br />
* Open Files List items &#8211; read-only file icon added<br />
* Find, Find Next/Previous results shown centered on screen<br />
* Respect projects modification flag when closing workspace and ask to save modified projects.<br />
* Dynamic linker&#8217;s path is now set correctly again for executing.<br />
* Added EscapeSpaces() global function and exposed it to scripts along with a few other functions from globals.h.<br />
* Updated debugger plugin to correctly set the dynamic linker&#8217;s path.<br />
* Fixed running console-based programs in windows.<br />
* Removed all wxLogNull, disabled log messages globally<br />
* Added a null pointer check (probably unneeded)<br />
* The &#8220;Save all&#8221; button on the toolbar is now &#8220;Save all files&#8221; to avoid problems with accidental clicking (&#8220;Save all&#8221; is an irreversible action).<br />
* Updated sdk doxygen file to latest doxygen revision<br />
* Fixed bug under wx26 that path for wizards was calculated wrong (without drive letter)<br />
* Implemented: [FR #3524] &#8220;Remove all breakpoints&#8221; option<br />
* Changed the SDK events handling system (see http://wiki.codeblocks.org/index.php?title=Code::Blocks_SDK_events).<br />
* While I was at it, I implemented sending the cbEVT_APP_START_SHUTDOWN event.<br />
* Fixed: plugin installation wouldn&#8217;t create directories on windows (thanks dje).<br />
* Fixed crash when using &#8220;Close&#8221; or &#8220;Close all&#8221; in open files list context menu (bug #11508).<br />
* Backticked expressions in build options are now parsed for compiler/linker search dirs. Code-completion benefits greatly from this (locating files to parse, opening #include files, etc).<br />
* The CC DebugInfo dialog now displays the parser&#8217;s search dirs too.<br />
* Fixed: [Bug #11548] &#8220;Recent projects&#8221; tries to open already open project<br />
* Added the following SDK functions. Use them for compiler version detection.<br />
- Compiler::SetVersionString()<br />
- Compiler::GetVersionString()<br />
* Debian dir updated to create the following packages:<br />
- libcodeblocks0 (codeblocks shared lib)<br />
- codeblocks (main app and core plugins)<br />
- codeblocks-contrib (contrib plugins)<br />
- codeblocks-dbg (debugging symbols)<br />
- codeblocks-devel (SDK headers)<br />
- libwxsmithlib0 (wxSmith shared lib)<br />
- libwxsmithlib0-devel (wxSmith development shared lib)<br />
* Added rudimentary man pages for cb_share_config and codesnippets.<br />
* Resource zip-files are now automatically generated when their dependencies change (no more need for &#8220;make clean-zipfiles&#8221;).<br />
* update-revision.sh now updates debian/changelog too so generated packages will contain correct version info.<br />
* Renamed -devel debian packages to -dev<br />
* Bug-fix in CompilerMINGW::SetVersionString.<br />
* Applied patch #2040 to fix Home key bug (#11234)<br />
* Fixed bug #11574 (comment code doesn&#8217;t work on PHP files)<br />
* Sorted items in &#8220;search internet&#8221; popup correctly (nobody ever noticed?)<br />
* Fixed: Crash while compiling a single file with OpenWatcom compiler.<br />
* Fixed: [Bug #11599] Saving a file crashes in a special case<br />
* Applied:<br />
- [Patch #2066] updates to python lexer<br />
- [Patch #2091] Documention only fix on file propgrid/CHANGES-propgrid.txt<br />
* Applied: [Patch #2067] &#8216;Highlight mode&#8217; reflects current syntax highlighting<br />
* Fixed: Compilation error (related to wxCharBuffer::==) in certain build configurations.<br />
* Incremental search dialog now supports the * and ? wildcards (patch #2046).<br />
* Switched to wxFlatNotebook 2.2 + 1 little change<br />
* Fixed &#8220;debugger won&#8217;t start&#8221; bug introduced yesterday.<br />
* Event cbEVT_COMPILER_STARTED is now emitted.<br />
* applied [ Patch #2105 ] Fix ugly 22&#215;22 searchreplace.png<br />
* Stopped Update.bat from copying Makefile.am to few directories.<br />
* Fixed: Clicking &#8220;Properties&#8221; option from Notebook menu doesn&#8217;t show proper file properties if it&#8217;s part of a project.<br />
* Added SDK events for build targets:<br />
- cbEVT_BUILDTARGET_ADDED<br />
- cbEVT_BUILDTARGET_REMOVED<br />
- cbEVT_BUILDTARGET_RENAMED<br />
- cbEVT_BUILDTARGET_SELECTED<br />
* Added Get/SetBuildTargetName() and Get/SetOldBuildTargetName() in CodeBlocksEvent, for the new events (the latter two functions only apply for cbEVT_BUILDTARGET_RENAMED and cbEVT_BUILDTARGET_SELECTED events).<br />
* The &lt;Extensions&gt; node (in .cbp files) is now preserved through project saves, even if the plugins using it are disabled/uninstalled. All relevant code in our repository has been updated.<br />
* Fixed: [Bug #11656] windows plugin wizard defaults to linking to wxmsw26u</p>
<p><strong>Plugins</strong>:</p>
<p><strong>AStyle</strong><br />
* Updated to AStyle 1.21, applying changes provided by Jim Pattee.</p>
<p><strong>Code-Completion</strong><br />
* Bug fix in CC tokenizer.<br />
* CC parser now supports &#8220;typedef [class|struct] {&#8230;} id&#8221; constructs.<br />
* Fixed [bug #11533] (class browser crash on windows)<br />
* Fixed [bug #11460] &#8220;Switching to current file&#8217;s symbols delays class browser for ~ 4 secs&#8221;<br />
* CC parser now supports &#8220;typedef enum {&#8230;} id&#8221; constructs.<br />
* Fixed 2-second freeze every time a file was saved (winxp)<br />
* Bug-fix in CC tokenizer.<br />
* When hovering the mouse over a word in the editor, a tooltip is displayed describing the token under the mouse (relevant option added in CC settings so it can be disabled/enabled at will).<br />
* Fixed minor issues with CC tooltips.<br />
* Fixed code-completion not launching for empty search strings (bug #11630).<br />
* Fixed code-completion handling of preprocessor directives in class definitions (bug #11626).<br />
* Bug fix in tokenizer wrt &lt;&lt; operator.</p>
<p><strong>CodeSnippets</strong><br />
* Get temp directory name from system; don&#8217;t assume /temp or /tmp.<br />
* Invoke properties dialog on &#8220;new snippet&#8221;<br />
* Do not copy removed snippet to .trash when shift key down<br />
* Fixed missing window when switching layouts<br />
* Auto show window when switching between window types<br />
* Don&#8217;t save snippets xml when no changes made in order to avoid file time change and annoying reload msg in secondary CB.</p>
<p><strong>Compiler</strong><br />
* Use more comfortable way to choose extra toolchain path&#8217;s (this also allows the use of GCV&#8217;s and improves consitency)<br />
* Now deprecated compiler option, &#8216;-I-&#8217;, wouldn&#8217;t be used for GCC 4.x series. Fixed(Partially): [Bug #10624] gcc: faulty/deprecated/ default options<br />
* Some code-cleanup and improvements in OpenWatcom option generation code.<br />
* Added experimental support of creating Linux executables on Windows using OpenWatcom. Please note that an additional **Library directory** has to be added manually.<br />
* Updated: Regex in CompilerMINGW::SetVersionString() to a foolproof one.<br />
* Fixed: Couple of issues with DMD compiler.<br />
* Applied: [Patch #2015] To create a lib using lib.exe in DMD tools??<br />
* Fixed: Run-time error message in CompilerMINGW::SetVersionString() when gcc binary is not found.<br />
* On Windows the search in PATH environment variable, in CompilerGCC::SetEnvironmentForCompiler(), would now be case-insensitive. This would help avoid adding duplicate entries in PATH.<br />
* Update -mmcu options for GNUAVR (patch #2071).<br />
* If getting the timestamp for a file fails check its existence to decide if it should be built or just ignored.<br />
* Fixed: [Bug #11600] compiler plugin works only with admin rights</p>
<p><strong>Debugger</strong><br />
* Fixed display of watches for CDB (MSVC executables).<br />
* Fixed: Layout issues in DataBreakpointDlg.<br />
* Added preliminary support for remote debugging with gdb (only). Check the &#8220;Debugger&#8221; page in project&#8217;s properties&#8230;<br />
* Clean-up in remote debugging code.<br />
* Added baud setting for remote debugging through the serial port.<br />
* Fixed deadlock while debugger was waiting for compiler to finish (at least in linux).<br />
* Starting the debugger should work correctly again in all cases.<br />
* Per-target extra debugger commands are now sent after connection to remote target (if any).<br />
* Debugger no longer tries to launch 2 times if the first try failed.</p>
<p><strong>Envvars</strong><br />
* Fixed &#8220;envvars not unset on project close&#8221; bug (thanks Yiannis)<br />
* Added &#8220;nicer&#8221; image for config icon<br />
* Added possibility to clone an envvar set<br />
* GUI enhancement for Linux, code cleanup</p>
<p><strong>KeyBinder</strong><br />
* Check for numeric menu items that start with &#8220;_&#8221; wxGTK 2.8.4<br />
* Fixed disappearing/reappearing command keys on wxGTK 2.8.4 by trimming all menu items and conf strings before comparing.</p>
<p><strong>Projects Importer</strong><br />
* Added: Support for $(PlatformName) macro in MSVC 7+ project file import.<br />
* Some code cleanup.</p>
<p><strong>Scripted Wizard</strong><br />
* wxWidgets wizard:<br />
- Default wxwidgets configurations will now be added at project level.<br />
* Win32GUI Wizard:<br />
- Added support for Dialog based app creation. (Thanks Skirby for the sample code)<br />
* Updated: DLL and Win32 GUI wizard to latest changes in OpenWatcom compiler support.</p>
<p><strong>Share-config</strong><br />
* Implemented &#8220;uncheck all&#8221;; made dlg resizable<br />
* Added support for editor colour_sets</p>
<p><strong>Source Exporter</strong><br />
* Bugfix: Wrong output of tabs in ODT.<br />
* Tabs are now converted to spaces using the current editor settings (tab size in spaces) in the PDF exporter.</p>
<p><strong>To-Do</strong><br />
* ToDo plugin now uses the correct image in the settings dialog.</p>
<p><strong>wxSmith</strong><br />
* Big update to wxsDrawingWindow class<br />
- It uses wxClientDC instead of wxScreenDC (which is not supported on MAC now)<br />
- Removed internal &#8220;drawing panel&#8221; &#8211; everything is done on wxsDrawingWindow now (event flow is much better now)<br />
- Got rid of all Yields during fetch sequence (may improve stability)<br />
- First results on MAC (still there&#8217;s much to be done but at least there&#8217;s some starting point)<br />
* Fixed wx2.6 issues in wxToolbar<br />
* Increase readability of generated code</p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/08/codeblocks-july-month-update-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code::Blocks and wxWidgets 2.8.4</title>
		<link>http://biplab.in/2007/05/codeblocks-and-wxwidgets-284/</link>
		<comments>http://biplab.in/2007/05/codeblocks-and-wxwidgets-284/#comments</comments>
		<pubDate>Fri, 25 May 2007 19:46:07 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=47</guid>
		<description><![CDATA[wxWidgets (wx) 2.8.4 has been released recently. Since Code::Blocks was switched to wx 2.8.x series wx-2.8.3 runtime dll was being used on Windows. But wx 2.8.3 had some serious issues which were crippling some of the features of Code::Blocks on Windows and as well as on Linux. Well let me explain them. On Windows, the [...]]]></description>
			<content:encoded><![CDATA[<p>wxWidgets (wx) 2.8.4 has been released recently. Since Code::Blocks was switched to wx 2.8.x series wx-2.8.3 runtime dll was being used on Windows. But <em>wx 2.8.3 had some serious issues</em> which were crippling some of the features of Code::Blocks on Windows and as well as on Linux. Well let me explain them.</p>
<p><strong>On Windows</strong>, the pop-up menu were not responding to clicks. This became an annoying issue for Code::Blocks as a major portion of pop-up menus were not working. This bug existed in wx-2.8.3 and has been fixed in wx-2.8.4.</p>
<p>So if you are facing such issue where the Pop-Up menus are not working, just upgrade to wx-2.8.4. A link to a new DLL is now available with the Nightly Build links. Please check the Code::Blocks forum for the link.</p>
<p><strong>On Linux</strong> the issue was quite serious, though. There is a bug in wx-2.8.3 in which an application may run into an endless loop if a <em>statictext control</em> is added to menu. This issue was making Code::Blocks to <em>hang-at-start-up</em>. So if your Code::Blocks installation is showing such weird behaviour, it&#8217;s time to upgrade.</p>
<p>For Linux, you need to upgrade on your own. As such no wxGTK runtime will be provided by Code::Blocks team (including me). You may build it on your own or can check wxWidgets website&#8217;s Download section.</p>
<p>So if you face any of these two issues, please don&#8217;t file a bug-report. Rather update wxWidgets runtime.</p>
<p>Signing off today.  <img src='http://biplab.in/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/05/codeblocks-and-wxwidgets-284/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wxWidgets Wizard Update: Apr 2007</title>
		<link>http://biplab.in/2007/05/update-wxwidgets-wizard-of-codeblocks-apr-2007/</link>
		<comments>http://biplab.in/2007/05/update-wxwidgets-wizard-of-codeblocks-apr-2007/#comments</comments>
		<pubDate>Fri, 04 May 2007 02:48:34 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=46</guid>
		<description><![CDATA[Hello all, The wxWidgets Wizard of Code::Blocks have been updatd recently. In this article I&#8217;ll explain the changes that I&#8217;ve committed. Earlier wizard had two pages to add additional libraries in Non-Monolithic build of wxWidgets in Windows. Now those two pages have been changed to a more user-friendly one page list. All the libraries are [...]]]></description>
			<content:encoded><![CDATA[<p>Hello all,</p>
<p>The wxWidgets Wizard of Code::Blocks have been updatd recently. In this article I&#8217;ll explain the changes that I&#8217;ve committed.</p>
<p>Earlier wizard had two pages to add additional libraries in Non-Monolithic build of wxWidgets in Windows. Now those two pages have been changed to a more user-friendly one page list. All the libraries are now available as a single list and selecting them is also easier. Please see the following screenshot for more details.</p>
<p style="text-align: center"><a href="http://biplab.in/wp-content/uploads/2007/08/wxaddllibpage.png" rel="thumbnail" title="wxaddllibpage.png"><img src="http://biplab.in/wp-content/uploads/2007/08/wxaddllibpage.thumbnail.png" alt="wxaddllibpage.png" /></a></p>
<p>Another important update has been committed in the wizard. Wizard is now able to add additional dependencies if you&#8217;ve forgot to add them in your project. This would be helpful in resolving linking errors due to missing dependencies.</p>
<p>In past couple of months, several users requested to add support for a wxWidgets target addition. In this update I&#8217;ve added that, too. Now you&#8217;ll be able to add a target to an existing project even with a different compiler and configuration.</p>
<p>To use this, please click <strong>File &gt; New &gt; Build target</strong> menu. Now you&#8217;ll see the following screen.</p>
<p style="text-align: center"><a href="http://biplab.in/wp-content/uploads/2007/08/wxintarget.png" rel="thumbnail" title="wxintarget.png"><img src="http://biplab.in/wp-content/uploads/2007/08/wxintarget.thumbnail.png" alt="wxintarget.png" /></a></p>
<p>Select wxWidgets from the list and the target wizard will start. Now follow the steps in the wizard and use appropriate settings. The wizard will create a New target for you.</p>
<p>Please note that to add a new target, a project should be open in Code::Blocks.</p>
<p>Hopefully you&#8217;ll find this new addition to be useful.</p>
<p>Regards,</p>
<p>Biplab</p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/05/update-wxwidgets-wizard-of-codeblocks-apr-2007/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>wxWidgets 2.6.4: New Release with New Issues</title>
		<link>http://biplab.in/2007/04/wxwidgets-264-new-release-with-new-issues/</link>
		<comments>http://biplab.in/2007/04/wxwidgets-264-new-release-with-new-issues/#comments</comments>
		<pubDate>Thu, 12 Apr 2007 07:38:31 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=35</guid>
		<description><![CDATA[Hi All, Posting after a long time. Got busy with studies and coding. Last month wxWidgets-2.6.4 was released. This is primarily a bug-fix release. Though newer releases are already available, a number of projects are still using wxWidgets 2.6.x for their projects. Code::Blocks is one such example. Since it&#8217;s release I&#8217;ve been compiling Code::Blocks with [...]]]></description>
			<content:encoded><![CDATA[<p>Hi All,</p>
<p>Posting after a long time. Got busy with studies and coding.</p>
<p>Last month wxWidgets-2.6.4 was released. This is primarily a bug-fix release. Though newer releases are already available, a number of projects are still using wxWidgets 2.6.x for their projects. Code::Blocks is one such example.</p>
<p>Since it&#8217;s release I&#8217;ve been compiling Code::Blocks with it to find out any issues. The first issue that I noticed was incorrect <em>File-type</em> icons in Code::Blocks. All the icons that C::B associates with different file types were getting mangled after I compiled it with wxWidgets-2.6.4.</p>
<p>Finally the bug has been found out and the fix is pretty easy. Just apply the following patch to wx.rc file.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #000040;">---</span> C<span style="color: #008080;">:</span><span style="color: #000040;">/</span>wxWidgets<span style="color: #000040;">-</span>2.6.4<span style="color: #000040;">/</span>include<span style="color: #000040;">/</span>wx<span style="color: #000040;">/</span>msw<span style="color: #000040;">/</span>wx.<span style="color: #007788;">rc</span>	Mon Mar <span style="color: #0000dd;">26</span> <span style="color: #0000dd;">18</span><span style="color: #008080;">:</span><span style="color: #0000dd;">15</span><span style="color: #008080;">:</span><span style="color: #0000dd;">59</span> <span style="color: #0000dd;">2007</span>
&nbsp;
<span style="color: #000040;">+++</span> C<span style="color: #008080;">:</span><span style="color: #000040;">/</span>wxWidgets<span style="color: #000040;">-</span>2.6.4<span style="color: #000040;">/</span>include<span style="color: #000040;">/</span>wx<span style="color: #000040;">/</span>msw<span style="color: #000040;">/</span>wx.<span style="color: #007788;">rc</span>	Mon Mar <span style="color: #0000dd;">26</span> <span style="color: #0000dd;">18</span><span style="color: #008080;">:</span><span style="color: #0000dd;">17</span><span style="color: #008080;">:</span><span style="color: #0000dd;">13</span> <span style="color: #0000dd;">2007</span>
&nbsp;
@@ <span style="color: #000040;">-</span><span style="color: #0000dd;">79</span>,<span style="color: #0000dd;">7</span> <span style="color: #000040;">+</span><span style="color: #0000dd;">79</span>,<span style="color: #0000dd;">7</span> @@<span style="color: #666666;">// Low alphabetically to make it the default, but not so low as to</span>
&nbsp;
<span style="color: #666666;">// affect applications that use 'a'</span>
&nbsp;
<span style="color: #000040;">-</span>bICON                           ICON <span style="color: #FF0000;">&quot;wx/msw/std.ico&quot;</span>
&nbsp;
<span style="color: #000040;">+</span><span style="color: #666666;">//bICON                           ICON &quot;wx/msw/std.ico&quot;</span>
&nbsp;
<span style="color: #666666;">//////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
<span style="color: #666666;">//</span></pre></td></tr></table></div>

<p>With this new wx code, an additional Icon was getting inserted into the exe file which was screwing up the associated icons.</p>
<p><strong>Is it reported to wx-dev team?</strong> Answer is No and not necessary. This bug has been fixed in wx 2.8.x code. But unfortunately, the buggy code came with wxWidgets 2.6.4.</p>
<p>So if you want to compile Code::Blocks or any other app with wxWidgets 2.6.4, then please pay attention to this bug. Or otherwise it may haunt you for no reasons.</p>
<p><strong><em>Another bug</em></strong> that has been noticed in Code::Blocks after switching to wx 2.6.4 is that it&#8217;s <em>Find</em> and <em>Replace</em> dialogs are now not responding to <em>Escape key</em>!</p>
<p>This bug is new and still not confirmed whether it&#8217;s an issue with wxWidgets 2.6.4 or Code::Blocks code. As far as I&#8217;m concerned, I&#8217;m quite sure that C::B code is not responsible for this.</p>
<p>I&#8217;m presently working on this to see if this can be fixed or not.</p>
<p>Hope this unofficial bug report and it&#8217;s fix will help you. <img src='http://biplab.in/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/04/wxwidgets-264-new-release-with-new-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wxWidgets, OpenWatcom and Code::Blocks</title>
		<link>http://biplab.in/2007/03/wxwidgets-openwatcom-and-codeblocks/</link>
		<comments>http://biplab.in/2007/03/wxwidgets-openwatcom-and-codeblocks/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 15:39:19 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=30</guid>
		<description><![CDATA[Hello Everybody, This week I&#8217;m posting wxWidgets Wizard update alongwith a number of other feature improvements that has been added in Code::Blocks. A number of users had complained about the support of OpenWatcom in Code::Blocks. The support was there but it was broken as it was written quite a while ago. Thus I rewrote some [...]]]></description>
			<content:encoded><![CDATA[<p>Hello Everybody,</p>
<p>This week I&#8217;m posting wxWidgets Wizard update alongwith a number of other feature improvements that has been added in Code::Blocks.</p>
<p>A number of users had complained about the support of OpenWatcom in Code::Blocks. The support was there but it was broken as it was written quite a while ago. Thus I rewrote some of the parts to improve the support. Now it has been tested with OpenWatcom 1.6 and found to be working perfectly with different types of projects.</p>
<p>After improving OpenWatcom support the goal was set to make the wxWidgets Wizard compatible with OpenWatcom. It has been updated to work with latest OpenWatcom release. I&#8217;ve personally tested it with OpenWatcom 1.6 and found to be working perfectly. OpenWatcom support for wxWidgets Wizard has been added in Revision 3660.</p>
<p>Till date if anyone wishes to develop wxWidgets based application with OpenWatcom makefile was the only option. Latest Nightlies of Code::Blocks have changed the equation. The OpenWatcom support is also available in 3rd-Party GUI builder integration part of wxWidgets Wizard.</p>
<p>One feature is presently lacking in OpenWatcom support in wizard. It does not support PCH files. But soon this limitation will be resolved.</p>
<p>Another interesting feature addition to wizard is support for <strong>wxSmith</strong>, the default GUI builder in Code::Blocks. I&#8217;m thankful to <b>Byo</b> for his support making the integration possible.</p>
<p>I hope you&#8217;ll all find the latest changes more interesting and useful.</p>
<p>Thanks for visiting the Blog. Please visit again for more updates. <img src='http://biplab.in/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/03/wxwidgets-openwatcom-and-codeblocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wxWidgets Wizard Update: 20th Feb 07</title>
		<link>http://biplab.in/2007/02/wxwidgets-wizard-update-20th-feb-07/</link>
		<comments>http://biplab.in/2007/02/wxwidgets-wizard-update-20th-feb-07/#comments</comments>
		<pubDate>Wed, 21 Feb 2007 18:21:17 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=23</guid>
		<description><![CDATA[Hello Everybody, There has been couple of significant changes to wxWidgets project wizard of Code::Blocks. The update will help advanced users who want to debug their application in Debug mode but linking with Release library of wxWidgets. Yes! this is now possible but only for GCC. Other compilers may not support this feature and thus [...]]]></description>
			<content:encoded><![CDATA[<p>Hello Everybody,</p>
<p>There has been couple of significant changes to wxWidgets project wizard of Code::Blocks. The update will help advanced users who want to debug their application in Debug mode but linking with Release library of wxWidgets. Yes! this is now possible but only for GCC. Other compilers may not support this feature and thus it has been internally disabled.</p>
<p>Changelog:</p>
<ul>
<li><span style="color: #ff0000"><strong>Set Target Types option</strong></span> has been renamed to <strong><span style="color: #0000ff">Configure Advanced Options</span></strong>. (See screenshot 1)</li>
<li>Now wizard can setup debug target using Release wxWidgets lib and without <tt><span style="color: #0000ff">__WXDEBUG__</span></tt>. Please remember that this is available only for GCC in Windows. (See screenshot 2)</li>
</ul>
<p>This option was requested by several developer of Code::Blocks. This option will enable a developer to compile application in debug mode (using -g flag to be particular) but using release lib of wxWidgets to avoid mixing of bugs. Please remember that this option will not work for any other compilers other than GCC.</p>
<p><center></p>
<table border="0" cellspacing="20">
<tr>
<td align="center"><a href="http://biplab.in/wp-content/uploads/2007/03/wxwiz_renamed_opt_page.png" rel="lightbox" title="Renamed Option"><img src="http://biplab.in/wp-content/uploads/2007/03/wxwiz_renamed_opt_page.thumbnail.png" alt="wxwiz_renamed_opt_page.png" /><br />
Image1: Renamed Option</a></td>
<td align="center"><a href="http://biplab.in/wp-content/uploads/2007/03/wxwiz_adv_opt_gcc_page.png" rel="lightbox" title="Advanced Option for GCC"><img src="http://biplab.in/wp-content/uploads/2007/03/wxwiz_adv_opt_gcc_page.thumbnail.png" alt="wxwiz_adv_opt_gcc_page.png" /><br />
Image 2: Advanced Option for GCC</a></td>
</tr>
</table>
<p></center>Committed in revision 3610</p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/02/wxwidgets-wizard-update-20th-feb-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wxWidgets Wizard Update: 11th Feb 07</title>
		<link>http://biplab.in/2007/02/wxwidgets-wizard-update-11th-feb-07/</link>
		<comments>http://biplab.in/2007/02/wxwidgets-wizard-update-11th-feb-07/#comments</comments>
		<pubDate>Sun, 11 Feb 2007 10:33:34 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=20</guid>
		<description><![CDATA[Latest changes are: Library selection page in Linux have been redesigned. Options have been regrouped (See the screenshot below). Now it&#8217;s possible for users to create a project with default wx lib configurations present in Linux. Regrouped Options in Windows Regrouped Options in Linux Please download Code::Blocks Nightly Revision 3577 onwards to get these changes.]]></description>
			<content:encoded><![CDATA[<p>Latest changes are:</p>
<ul>
<li>Library selection page in Linux have been redesigned. Options have been regrouped (See the screenshot below).</li>
<li>Now it&#8217;s possible for users to create a project with default wx lib configurations present in Linux.</li>
</ul>
<p><center></p>
<table border="0" cellpadding="10">
<tr align="bottom">
<td align="center"><a href="http://biplab.in/wp-content/uploads/2007/03/wxwiz_renamed_opt_page.png" rel="lightbox" title="Regrouped Options in Windows"><img src="http://biplab.in/wp-content/uploads/2007/03/wxwiz_renamed_opt_page.thumbnail.png" alt="wxwiz_renamed_opt_page.png" /><br />
Regrouped Options in Windows</a></td>
<td align="center"><a href="http://biplab.in/wp-content/uploads/2007/03/wxwiz_adv_opt_lin.png" rel="lightbox" title="Regrouped Options in Linux"><img src="http://biplab.in/wp-content/uploads/2007/03/wxwiz_adv_opt_lin.thumbnail.png" alt="wxwiz_adv_opt_lin.png" /><br />
Regrouped Options in Linux</a></td>
</tr>
</table>
<p></center>Please download Code::Blocks Nightly Revision 3577 onwards to get these changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/02/wxwidgets-wizard-update-11th-feb-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wxWidgets Wizard Update: 6th Feb 07</title>
		<link>http://biplab.in/2007/02/wxwidgets-wizard-update-6th-feb-07/</link>
		<comments>http://biplab.in/2007/02/wxwidgets-wizard-update-6th-feb-07/#comments</comments>
		<pubDate>Mon, 05 Feb 2007 16:26:19 +0000</pubDate>
		<dc:creator>Biplab</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Code::Blocks]]></category>
		<category><![CDATA[Free/Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://biplab.in/?p=19</guid>
		<description><![CDATA[There are a number of changes made to it last week. Changes: Bugfix restoring PCH support for GCC. A bug was introduced in Revision 7 which disabled the PCH support. Warning message added for Empty Project Creation. Added option to use customised PCH header. Grouped the various options in wxWidgets lib Configuration page. The changes [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of changes made to it last week.</p>
<p>Changes:</p>
<ul>
<li>Bugfix restoring PCH support for GCC. A bug was introduced in Revision 7 which disabled the PCH support.</li>
<li>Warning message added for Empty Project Creation.</li>
<li>Added option to use customised PCH header.</li>
<li>Grouped the various options in wxWidgets lib Configuration page.</li>
</ul>
<p>The changes will be available with Revision 3570 of Code::Blocks (<a href="http://www.codeblocks.org">http://www.codeblocks.org</a>) and onwards.</p>
]]></content:encoded>
			<wfw:commentRss>http://biplab.in/2007/02/wxwidgets-wizard-update-6th-feb-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

