<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>an old bug still there</title>
		<link>http://www.allegro.cc/forums/view/589858</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 04 Feb 2007 05:52:35 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello,<br />I was hoping this bug might have been fixed in the latest 4.2 but it hasn&#39;t. I tried to figure it when I first posted it here a while ago, but couldn&#39;t.</p><p>Basically, if you create a system bitmap then create sub-bitmaps from it, when you destroy any of the sub-bitmaps, your program crashes. Video and memory bitmaps are fine.</p><p>I have only (and I guess it is the only o/s that supports them) tried this on Windows.</p><p>Anyone hazard a guess why, or if it&#39;s possible for someone to have a look <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Sat, 03 Feb 2007 05:32:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Please consider debugging this yourself.  We are extremely short on Windows developers nowadays and need to encourage more users to become developers.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Sat, 03 Feb 2007 05:43:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m unable to duplicate it on 4.2.1 with VC 2005.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 03 Feb 2007 05:47:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Might I suggest (better) documentation of the driver functions and vtable functions if you want more users to become developers? While working on the DS port of Allegro, I often find myself either tracing through other drivers looking for a specific function or asking Tomasu when he is present just to find out what it is supposed to do. The functions which Allegro exposes to the user are documented well enough, but those exposed only to the developer could use a bit of work. </p><p>Not that I am willing or even capable of doing any of my suggestions, but I do believe they would at least help moderately in getting more users to participate in development.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (relpatseht)</author>
		<pubDate>Sat, 03 Feb 2007 05:52:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I distinctly remember looking into this a long while back (any chance you can dig up the thread?) and finding a fix for it. I think this was comitted after testing as well, that should show up in the logs.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Sat, 03 Feb 2007 05:53:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><a href="http://www.allegro.cc/forums/thread/558528">http://www.allegro.cc/forums/thread/558528</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 03 Feb 2007 05:57:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Might I suggest (better) documentation of the driver functions and vtable functions if you want more users to become developers?
</p></div></div><p>

You might, but it&#39;s not going to happen.  Can I suggest in return that, while working on the DS port, adding any comments on anything you figure out?  If and when we merge the DS port into the main tree, we would pick up those comments as well.  Thanks.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Sat, 03 Feb 2007 06:19:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I can get it to fail with this simple program, can you try this Matthew? or anyone who would like to try it out, it crashes on the first destroy statement, both in mingw and vc2005 for me. Then uncomment/swap the two commented lines to make it normal memory bitmaps and all is well:</p><p>btw, I&#39;m on 4.2.0.0 but I would have thought this would have the fix mentioned above in it also.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">4</td><td><span class="k2">{</span></td></tr><tr><td class="number">5</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  </td></tr><tr><td class="number">9</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED,<span class="n">640</span>,<span class="n">480</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">11</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>    <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"no gfx mode"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> master<span class="k3">=</span><a href="http://www.allegro.cc/manual/create_system_bitmap" target="_blank"><span class="a">create_system_bitmap</span></a><span class="k2">(</span><span class="n">200</span>,<span class="n">200</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>  <span class="c">//BITMAP* master=create_bitmap(200,200);</span></td></tr><tr><td class="number">18</td><td>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>master<span class="k2">)</span> </td></tr><tr><td class="number">19</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">20</td><td>    <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"no master"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">23</td><td>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/is_system_bitmap" target="_blank"><span class="a">is_system_bitmap</span></a><span class="k2">(</span>master<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">24</td><td>  <span class="c">//if(is_system_bitmap(master))</span></td></tr><tr><td class="number">25</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">26</td><td>    <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"not a proper system bitmap, only a poor memory one"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td>  <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span>master,<a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>&#160;</td></tr><tr><td class="number">32</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> child1<span class="k3">=</span><a href="http://www.allegro.cc/manual/create_sub_bitmap" target="_blank"><span class="a">create_sub_bitmap</span></a><span class="k2">(</span>master,<span class="n">0</span>,<span class="n">0</span>,<span class="n">64</span>,<span class="n">64</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> child2<span class="k3">=</span><a href="http://www.allegro.cc/manual/create_sub_bitmap" target="_blank"><span class="a">create_sub_bitmap</span></a><span class="k2">(</span>master,<span class="n">64</span>,<span class="n">64</span>,<span class="n">64</span>,<span class="n">64</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>child1 <span class="k3">|</span><span class="k3">|</span> <span class="k3">!</span>child2<span class="k2">)</span> </td></tr><tr><td class="number">35</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">36</td><td>    <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"no children created"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">39</td><td>&#160;</td></tr><tr><td class="number">40</td><td>  <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>master,<a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,master-&gt;w,master-&gt;h<span class="k2">)</span><span class="k2">;</span> </td></tr><tr><td class="number">41</td><td>  <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>child1,<a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">500</span>,<span class="n">0</span>,child1-&gt;w,child1-&gt;h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>  <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>child2,<a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">500</span>,<span class="n">100</span>,child2-&gt;w,child2-&gt;h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>  <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>,<a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>,<span class="s">"press ESCape and see if you die"</span>,<span class="n">0</span>,<span class="n">400</span>,<a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>&#160;</td></tr><tr><td class="number">45</td><td>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">46</td><td>    <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">10</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>&#160;</td></tr><tr><td class="number">48</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>child1<span class="k2">)</span><span class="k2">;</span> <span class="c">//kaboom</span></td></tr><tr><td class="number">49</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>child2<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>master<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>  <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td><span class="k2">}</span></td></tr><tr><td class="number">53</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Sat, 03 Feb 2007 06:44:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
You might, but it&#39;s not going to happen. Can I suggest in return that, while working on the DS port, adding any comments on anything you figure out? If and when we merge the DS port into the main tree, we would pick up those comments as well.
</p></div></div><p>
If such is the case, then I will make no suggestion. I will, however, make the greatest effort I am willing to put forth, which if history serves as truth will be very little, to follow your&#39;s even in the event you don&#39;t make it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (relpatseht)</author>
		<pubDate>Sat, 03 Feb 2007 08:00:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I can get it to fail with this simple program, can you try this Matthew? or anyone who would like to try it out, it crashes on the first destroy statement, both in mingw and vc2005 for me. Then uncomment/swap the two commented lines to make it normal memory bitmaps and all is well:
</p></div></div><p>
No crash on gcc or VC 2005.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 03 Feb 2007 08:37:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;d be glad to work on Allegro if I wasn&#39;t working on Mario&#39;s Fly Catcher. This library made it possible to persue my dreams. And what&#39;s sad is that after Mario&#39;s Fly Catcher I&#39;ll be working on Worm Wars so as you can see I&#39;m quite busy.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Francois Lamini)</author>
		<pubDate>Sat, 03 Feb 2007 09:04:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
btw, I&#39;m on 4.2.0.0
</p></div></div><p>
What&#39;s with the extra .0?<br />Anyway, when you say you&#39;re testing the latest version, you should actually <i>use</i> the latest version. Try 4.2.1 and see if that fixes it.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
but I would have thought this would have the fix mentioned above in it also.
</p></div></div><p>
How could it? 4.2.0 was released in November 2005, you reported the problem in January 2006.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Sat, 03 Feb 2007 15:02:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
What&#39;s with the extra .0?
</p></div></div><p>I just copied/pasted from file properties in windows <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
How could it? 4.2.0 was released in November 2005, you reported the problem in January 2006.
</p></div></div><p>I guess I&#39;m behind the times again, I thought I had updated. I&#39;ll get the latest copy and recompile.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Sat, 03 Feb 2007 16:51:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
4.2.0 is over a year old already?!</p><p>Wow, time flies..
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Sat, 03 Feb 2007 16:52:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>4.2.1 fixes the subbitmap problem. apologies for the time-wasting <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Sun, 04 Feb 2007 05:52:35 +0000</pubDate>
	</item>
</rss>
