<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Game works fine in debug target but not in release target.</title>
		<link>http://www.allegro.cc/forums/view/612964</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 14 Jul 2013 15:23:31 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello!</p><p>I&#39;ve got some strange issue here. For some time I make game with Allegro 5.0.9 in CodeBlocks with SEPARATLY downloaded MinGW (the most recent version I belive, coz downloaded it few days ago). So my code compiles and works fine in debug-target, from both CB-side and windows-side. I decided to try it out in release-target today, and here comes the problem. For some reason, it crashes as release-target, doesn&#39;t matter if run from CB or directly from windows. My researches showed me it crashes somewhere around drawing or bitmap operations inside my engine class (outside it, ex. in main() it works fine, atleast loading bmp, drawing bmp and fliping display). I&#39;m pretty sure all modules and resources are loaded and initialized, otherwise my app would close itself before any crash could occur.</p><p>I mentioned it crashes in my engine class, so it&#39;s important (i think so) to mention that&#39;s a singleton, and most of code is inside of it (Around 650 lines of code with my formatting). I managed to &quot;find&quot; 2 crash reasons (couldn&#39;t go any futher).</p><p>First occurs when I try to add object to vector, where object contains ALLEGRO_BITMAP * in constructor, ex.:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span>CButton::CButton<span class="k2">(</span><span class="k1">const</span> <span class="k1">float</span> px, <span class="k1">const</span> <span class="k1">float</span> py, <span class="k1">const</span> <span class="k1">float</span> w, <span class="k1">const</span> <span class="k1">float</span> h, <span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> c, <span class="k1">const</span> std::string str, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> image<span class="k2">)</span> <span class="k2">:</span>
<span class="number"> 2</span>    PosX<span class="k2">(</span>px<span class="k2">)</span>, PosY<span class="k2">(</span>py<span class="k2">)</span>, Width<span class="k2">(</span>px<span class="k3">+</span>w<span class="k2">)</span>, Height<span class="k2">(</span>py<span class="k3">+</span>h<span class="k2">)</span>, Color<span class="k2">(</span>c<span class="k2">)</span>, Text<span class="k2">(</span>str<span class="k2">)</span>, Image<span class="k2">(</span>image<span class="k2">)</span>
<span class="number"> 3</span><span class="k2">{</span><span class="k2">}</span>
</div></div><p>
and then somewhere
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span>Buttons.push_back<span class="k2">(</span>CButton<span class="k2">(</span><span class="n">272</span>,<span class="n">256</span>,<span class="n">256</span>,<span class="n">40</span>,WHITE,<span class="s">"some txt"</span>,RESOURCES.GetBitmap<span class="k2">(</span><span class="s">"Button_256x40"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//Buttons is a vector</span>
</div></div><p>
And that crash throws 
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span>terminate called after throwing an instance of <span class="s">'std::bad_alloc'</span> what<span class="k2">(</span><span class="k2">)</span><span class="k2">:</span> std::bad_alloc
</div></div><p>
in console or just crashes. (I found out that bad_alloc is thrown when I try to push_back no more than 2 buttons).</p><p>And if I comment out that vector, it just crashes on
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span><a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">200</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// even on al_clear_to_color() !</span>
<span class="number"> 2</span><a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>RESOURCES.GetTTF_Font<span class="k2">(</span><span class="s">"OSP-DIN"</span><span class="k2">)</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</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="n">400</span>,<span class="n">200</span>,ALLEGRO_ALIGN_CENTER,<span class="s">"MAINMENU"</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
but it never crashed on
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span><a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>

<u>I know it&#39;s hard to guess with such small ammount of information, but maybe anyone have an idea what&#39;s wrong?</u></p><p>I&#39;m sorry for not including source code to topic, but I&#39;m not sure where the problem is, so i would have to upload whole 15xx lines, but if someone needs it I can do so. But I warn you, that you&#39;ll get a headache coz of how much it sucks. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><p>Thanks in advance.</p><p><b>Additional info:</b><br />RESOURCES is #define from CResource::GetInstance(), where CResource is another singleton class which holds almost all resources (bitmaps, fonts, samples..).</p><p>&quot;just crash&quot; means that no info about error is thrown. It looks similar to<br /><span class="remote-thumbnail"><span class="json">{"name":"conshost-croak.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/0\/004bb6ba9a65874887a00bc5d742dcff.png","w":532,"h":286,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/0\/004bb6ba9a65874887a00bc5d742dcff"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/0/0/004bb6ba9a65874887a00bc5d742dcff-240.jpg" alt="conshost-croak.png" width="240" height="129" /></span></p><p>And at last my linker settings:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k3">-</span>s
<span class="number">  2</span><span class="k3">-</span>static-libgcc
<span class="number">  3</span><span class="k3">-</span>static-libstdc<span class="k3">+</span><span class="k3">+</span>
<span class="number">  4</span>liballegro-5.0.9-monolith-static-mt.a
<span class="number">  5</span>libopenal-1.14-static-mt.a
<span class="number">  6</span>libvorbisfile-1.3.2-static-mt.a
<span class="number">  7</span>libvorbis-1.3.2-static-mt.a
<span class="number">  8</span>libdumb-0.9.3-static-mt.a
<span class="number">  9</span>libFLAC-1.2.1-static-mt.a
<span class="number"> 10</span>libfreetype-2.4.8-static-mt.a
<span class="number"> 11</span>libogg-1.2.1-static-mt.a
<span class="number"> 12</span>libzlib-1.2.5-static-mt.a
<span class="number"> 13</span>
<span class="number"> 14</span>libgdiplus.a
<span class="number"> 15</span>libuuid.a
<span class="number"> 16</span>libkernel32.a
<span class="number"> 17</span>libwinmm.a
<span class="number"> 18</span>libpsapi.a
<span class="number"> 19</span>libopengl32.a
<span class="number"> 20</span>libglu32.a
<span class="number"> 21</span>libuser32.a
<span class="number"> 22</span>libcomdlg32.a
<span class="number"> 23</span>libgdi32.a
<span class="number"> 24</span>libshell32.a
<span class="number"> 25</span>libole32.a
<span class="number"> 26</span>libadvapi32.a
<span class="number"> 27</span>libws2_32.a
<span class="number"> 28</span>libshlwapi.a
</div></div><p>
Only diffrences between debug and release are that allegro libs got &quot;-debug&quot; more and there&#39;s no &quot;-s&quot; in debug-target
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tariel36)</author>
		<pubDate>Sat, 13 Jul 2013 22:57:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If std::bad_alloc is being thrown, you are probably resizing or newing something with an unitialized variable for the size, which will be zeroed out in debug mode, but not release, hence the large size request. That&#39;s my guess. Use some try/catch blocks to isolate it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 14 Jul 2013 01:00:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for reply. Since I couldn&#39;t really find anything with try and catch blocks (maybe I used them wrong) I created new project and started to copy parts of code to main.cpp. After couple of minutes I probably found the cancer that&#39;s killing my game, but that&#39;s really, really weird. I&#39;ve copied only ~250 lines of code, mostly allegro and resources inits, button class, &quot;main menu loop&quot; and all includes and defines. The mean part of code is:<br /><span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>OSP_DIN,BLACK, PosX, PosY, ALLEGRO_ALIGN_CENTRE,<span class="s">"%s"</span>,Text.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></span><br />Inside button draw() method. It&#39;s weird, because <span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span><span class="k2">)</span></span> in main block works fine.<br />There&#39;s button class code, maybe I&#39;ve done something wrong here?
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">class</span> CButton <span class="k2">{</span>
<span class="number">  2</span>private:
<span class="number">  3</span>    <span class="k1">float</span> PosX, PosY<span class="k2">;</span>
<span class="number">  4</span>    <span class="k1">float</span> Width, Height<span class="k2">;</span>
<span class="number">  5</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> Color<span class="k2">;</span>
<span class="number">  6</span>    std::string Text<span class="k2">;</span>
<span class="number">  7</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>Image<span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span>public:
<span class="number"> 10</span>    CButton<span class="k2">(</span><span class="k1">const</span> <span class="k1">float</span> px, <span class="k1">const</span> <span class="k1">float</span> py, <span class="k1">const</span> <span class="k1">float</span> w, <span class="k1">const</span> <span class="k1">float</span> h, <span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> c,
<span class="number"> 11</span>        <span class="k1">const</span> std::string str, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> image
<span class="number"> 12</span>    <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span>    <span class="k1">float</span> GetPosX<span class="k2">(</span><span class="k2">)</span> <span class="k1">const</span> <span class="k2">{</span> <span class="k1">return</span> PosX<span class="k2">;</span> <span class="k2">}</span>
<span class="number"> 15</span>    <span class="k1">float</span> GetPosY<span class="k2">(</span><span class="k2">)</span> <span class="k1">const</span> <span class="k2">{</span> <span class="k1">return</span> PosY<span class="k2">;</span> <span class="k2">}</span>
<span class="number"> 16</span>    <span class="k1">float</span> GetWidth<span class="k2">(</span><span class="k2">)</span> <span class="k1">const</span> <span class="k2">{</span> <span class="k1">return</span> Width<span class="k2">;</span> <span class="k2">}</span>
<span class="number"> 17</span>    <span class="k1">float</span> GetHeight<span class="k2">(</span><span class="k2">)</span> <span class="k1">const</span> <span class="k2">{</span> <span class="k1">return</span> Height<span class="k2">;</span> <span class="k2">}</span>
<span class="number"> 18</span>    std::string GetText<span class="k2">(</span><span class="k2">)</span> <span class="k1">const</span> <span class="k2">{</span> <span class="k1">return</span> Text<span class="k2">;</span> <span class="k2">}</span>
<span class="number"> 19</span>
<span class="number"> 20</span>    <span class="k1">void</span> Draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span>CButton::CButton<span class="k2">(</span><span class="k1">const</span> <span class="k1">float</span> px, <span class="k1">const</span> <span class="k1">float</span> py, <span class="k1">const</span> <span class="k1">float</span> w, <span class="k1">const</span> <span class="k1">float</span> h, <span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> c,
<span class="number"> 24</span>                 <span class="k1">const</span> std::string str, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> image<span class="k2">)</span> <span class="k2">:</span>
<span class="number"> 25</span>    PosX<span class="k2">(</span>px<span class="k2">)</span>, PosY<span class="k2">(</span>py<span class="k2">)</span>, Width<span class="k2">(</span>px<span class="k3">+</span>w<span class="k2">)</span>, Height<span class="k2">(</span>py<span class="k3">+</span>h<span class="k2">)</span>, Color<span class="k2">(</span>c<span class="k2">)</span>, Text<span class="k2">(</span>str<span class="k2">)</span>, Image<span class="k2">(</span>image<span class="k2">)</span>
<span class="number"> 26</span><span class="k2">{</span><span class="k2">}</span>
<span class="number"> 27</span>
<span class="number"> 28</span><span class="k1">void</span> CButton::Draw<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 29</span>    <span class="k1">if</span><span class="k2">(</span>Image <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>PosX,PosY,Width,Height,Color<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 30</span>    <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>Image,PosX,PosY,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>
<span class="number"> 32</span>    <span class="c">// The one here crashes the game (if not commented out)</span>
<span class="number"> 33</span>    <span class="c">//al_draw_textf(OSP_DIN,BLACK, PosX, PosY, ALLEGRO_ALIGN_CENTRE,"%s",Text.c_str());</span>
<span class="number"> 34</span><span class="k2">}</span>
</div></div><p>

OSP_DIN is a ttf font, but ttf addon start&#39;s without errors, and font, as I said, works in main().</p><p>Any ideas?:-X
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tariel36)</author>
		<pubDate>Sun, 14 Jul 2013 02:31:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/612964/987141#target">tariel36</a> said:</div><div class="quote"><p>
</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>OSP_DIN,BLACK, PosX, PosY, ALLEGRO_ALIGN_CENTRE,<span class="s">"%s"</span>,Text.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div></div><p>
You said this is crashing your program? OSP_DIN is probably returning an invalid font (because it was destroyed or is null). But you said the font works fine in main? Do you have any al_destroy_font&#39;s in your destructors? And in combination with that, do you make copies of any of your objects that contain ALLEGRO_FONT&#39;s? If you make a copy it will destroy your font when it goes out of scope, and cause your program to crash later on. If that is the case, you need to prohibit copying or implement a copy constructor.</p><p>Do you know how to get a backtrace when it crashes? Or is it still throwing bad_alloc?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 14 Jul 2013 03:12:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If <span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>OSP_DIN,BLACK, PosX, PosY, ALLEGRO_ALIGN_CENTRE,<span class="s">"%s"</span>,Text.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></span> is present, indeed game crashes. I wrote line of code to check if OSP_DIN returns NULL, but it doesn&#39;t (atleast <span class="source-code"><span class="k1">if</span><span class="k2">(</span>OSP_DIN <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"no font"</span><span class="k2">;</span></span> says so). Also there is no <span class="source-code"> <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><span class="k2">)</span></span> anywhere.</p><p>I&#39;m not aware of any copy actions (maybe I missed something?).<br />I&#39;m not sure if I know how to get backtrace, so let&#39;s say I dont know.<br />It doesn&#39;t thorw bad_alloc anymore.</p><p>I scrapped my code as much as I could, so you can see &quot;whole&quot; thing.
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#define ALLEGRO_STATICLINK</span>
<span class="number">   2</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="p">#include &lt;string&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;vector&gt;</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="p">#define BLACK al_map_rgb(0,0,0)</span>
<span class="number">  14</span><span class="p">#define WHITE al_map_rgb(255,255,255)</span>
<span class="number">  15</span><span class="p">#define GRAY al_map_rgb(166,166,166)</span>
<span class="number">  16</span>
<span class="number">  17</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>MainDisplay<span class="k2">;</span>
<span class="number">  20</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>GameTimer<span class="k2">;</span>
<span class="number">  21</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>GameEventQueue<span class="k2">;</span>
<span class="number">  22</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">30</span><span class="k2">;</span>
<span class="number">  23</span>
<span class="number">  24</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span> OSP_DIN<span class="k2">;</span>
<span class="number">  25</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> Button_256x40<span class="k2">;</span>
<span class="number">  26</span>
<span class="number">  27</span><span class="k1">class</span> CButton <span class="k2">{</span>
<span class="number">  28</span>private:
<span class="number">  29</span>    <span class="k1">float</span> PosX, PosY<span class="k2">;</span>
<span class="number">  30</span>    <span class="k1">float</span> Width, Height<span class="k2">;</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> Color<span class="k2">;</span>
<span class="number">  32</span>    std::string Text<span class="k2">;</span>
<span class="number">  33</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>Image<span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span>public:
<span class="number">  36</span>    CButton<span class="k2">(</span><span class="k1">const</span> <span class="k1">float</span> px, <span class="k1">const</span> <span class="k1">float</span> py, <span class="k1">const</span> <span class="k1">float</span> w, <span class="k1">const</span> <span class="k1">float</span> h, <span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> c,
<span class="number">  37</span>        <span class="k1">const</span> std::string str, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> image
<span class="number">  38</span>    <span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>    ~CButton<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span>    <span class="k1">void</span> Draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</span>CButton::CButton<span class="k2">(</span><span class="k1">const</span> <span class="k1">float</span> px, <span class="k1">const</span> <span class="k1">float</span> py, <span class="k1">const</span> <span class="k1">float</span> w, <span class="k1">const</span> <span class="k1">float</span> h, <span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> c,
<span class="number">  45</span>                 <span class="k1">const</span> std::string str, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> image<span class="k2">)</span> <span class="k2">:</span>
<span class="number">  46</span>    PosX<span class="k2">(</span>px<span class="k2">)</span>, PosY<span class="k2">(</span>py<span class="k2">)</span>, Width<span class="k2">(</span>px<span class="k3">+</span>w<span class="k2">)</span>, Height<span class="k2">(</span>py<span class="k3">+</span>h<span class="k2">)</span>, Color<span class="k2">(</span>c<span class="k2">)</span>, Text<span class="k2">(</span>str<span class="k2">)</span>, Image<span class="k2">(</span>image<span class="k2">)</span>
<span class="number">  47</span><span class="k2">{</span><span class="k2">}</span>
<span class="number">  48</span>CButton::~CButton<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span><span class="k2">}</span>
<span class="number">  49</span>
<span class="number">  50</span><span class="k1">void</span> CButton::Draw<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  51</span>    <span class="k1">if</span><span class="k2">(</span>Image <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>PosX,PosY,Width,Height,Color<span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>    <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>Image,PosX,PosY,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</span>    <span class="k1">if</span><span class="k2">(</span>OSP_DIN <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"no font\n"</span><span class="k2">;</span>
<span class="number">  55</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>OSP_DIN,BLACK, PosX, PosY, ALLEGRO_ALIGN_CENTRE,<span class="s">"%s"</span>,Text.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span><span class="k2">}</span>
<span class="number">  57</span>
<span class="number">  58</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  59</span>
<span class="number">  60</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  61</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k1">return</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  62</span>    <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k1">return</span> <span class="n">3</span><span class="k2">;</span>
<span class="number">  64</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k1">return</span> <span class="n">4</span><span class="k2">;</span>
<span class="number">  65</span>
<span class="number">  66</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k1">return</span> <span class="n">5</span><span class="k2">;</span>
<span class="number">  67</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k1">return</span> <span class="n">6</span><span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>    MainDisplay <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">800</span>, <span class="n">640</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>MainDisplay<span class="k2">)</span> <span class="k1">return</span> <span class="n">7</span><span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span>    GameTimer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>GameTimer<span class="k2">)</span> <span class="k1">return</span> <span class="n">8</span><span class="k2">;</span>
<span class="number">  74</span>
<span class="number">  75</span>    GameEventQueue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>GameEventQueue<span class="k2">)</span> <span class="k1">return</span> <span class="n">9</span><span class="k2">;</span>
<span class="number">  77</span>
<span class="number">  78</span>    OSP_DIN <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"data/arial.ttf"</span>,<span class="n">18</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>    <span class="k1">if</span><span class="k2">(</span>OSP_DIN <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span> <span class="n">10</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>    Button_256x40 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"data/Button_256x40.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>    <span class="k1">if</span><span class="k2">(</span>Button_256x40 <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span> <span class="n">11</span><span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>GameEventQueue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>MainDisplay<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>GameEventQueue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>GameTimer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>GameEventQueue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>GameEventQueue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>
<span class="number">  89</span>    <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  90</span>    <span class="k1">bool</span> endd <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  91</span>
<span class="number">  92</span>    std::vector <span class="k3">&lt;</span>CButton&gt; Buttons<span class="k2">;</span>
<span class="number">  93</span>
<span class="number">  94</span>    Buttons.push_back<span class="k2">(</span>CButton<span class="k2">(</span><span class="n">272</span>,<span class="n">256</span>,<span class="n">256</span>,<span class="n">40</span>,WHITE,<span class="s">"Nowa Gra"</span>,Button_256x40<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>    Buttons.push_back<span class="k2">(</span>CButton<span class="k2">(</span><span class="n">272</span>,<span class="n">304</span>,<span class="n">256</span>,<span class="n">40</span>,WHITE,<span class="s">"Load"</span>,Button_256x40<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>    Buttons.push_back<span class="k2">(</span>CButton<span class="k2">(</span><span class="n">272</span>,<span class="n">352</span>,<span class="n">256</span>,<span class="n">40</span>,WHITE,<span class="s">"HighScores"</span>,Button_256x40<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>    Buttons.push_back<span class="k2">(</span>CButton<span class="k2">(</span><span class="n">272</span>,<span class="n">400</span>,<span class="n">256</span>,<span class="n">40</span>,GRAY,<span class="s">"Options (NYI)"</span>,Button_256x40<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>    Buttons.push_back<span class="k2">(</span>CButton<span class="k2">(</span><span class="n">272</span>,<span class="n">448</span>,<span class="n">256</span>,<span class="n">40</span>,WHITE,<span class="s">"Exit"</span>,Button_256x40<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span><span class="k2">;</span>
<span class="number">  99</span>
<span class="number"> 100</span>    <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>endd<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 101</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 102</span>        <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>GameEventQueue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>
<span class="number"> 104</span>        <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 105</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 106</span>        <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 107</span>            <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 108</span>        <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_MOUSE_BUTTON_UP<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 109</span>
<span class="number"> 110</span>        <span class="k2">}</span> <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_MOUSE_AXES<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 111</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 112</span>        <span class="k2">}</span>
<span class="number"> 113</span>
<span class="number"> 114</span>        <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>GameEventQueue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 115</span>
<span class="number"> 116</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 117</span>            <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">200</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>
<span class="number"> 119</span>            <span class="k1">for</span><span class="k2">(</span><span class="k1">unsigned</span> <span class="k1">int</span> i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>i<span class="k3">&lt;</span>Buttons.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span><span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span> Buttons<span class="k2">[</span>i<span class="k2">]</span>.Draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>            <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>OSP_DIN, BLACK ,<span class="n">400</span>,<span class="n">200</span>,ALLEGRO_ALIGN_CENTER,<span class="s">"MAINMENU"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>
<span class="number"> 122</span>            <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>        <span class="k2">}</span>
<span class="number"> 124</span>    <span class="k2">}</span>
<span class="number"> 125</span>
<span class="number"> 126</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 127</span><span class="k2">}</span>
</div></div><p> <img src="http://www.allegro.cc/forums/smileys/embarassed.gif" alt=":-[" /></p><p>@edit<br />I tried to run release-target with debugger and breakpoints at lines 54 and 55 (in above code). It gave me:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>Child process PID: <span class="n">2120</span>
<span class="number">  2</span>Program received <a href="http://www.delorie.com/djgpp/doc/libc/libc_724.html" target="_blank">signal</a> SIGSEGV, Segmentation fault.
<span class="number">  3</span>In ?? <span class="k2">(</span><span class="k2">)</span> <span class="k2">(</span><span class="k2">)</span>
<span class="number">  4</span>Continuing...
<span class="number">  5</span>Program received <a href="http://www.delorie.com/djgpp/doc/libc/libc_724.html" target="_blank">signal</a> SIGSEGV, Segmentation fault.
<span class="number">  6</span>In ntdll<span class="k3">!</span>LdrQueryProcessModuleInformation <span class="k2">(</span><span class="k2">)</span> <span class="k2">(</span>C:\Windows\system32\ntdll.dll<span class="k2">)</span>
<span class="number">  7</span>Continuing...
<span class="number">  8</span><span class="k2">[</span>Inferior <span class="n">1</span> <span class="k2">(</span>process <span class="n">2120</span><span class="k2">)</span> exited with code <span class="n">030000000005</span><span class="k2">]</span>
<span class="number">  9</span>Debugger finished with status <span class="n">0</span>
</div></div><p>
I&#39;m not sure if it&#39;s important, but since it gave SIGSEGV, i found it interesting and worth to mention.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tariel36)</author>
		<pubDate>Sun, 14 Jul 2013 04:48:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I compiled your code and used placeholder fonts and graphics and it worked fine for me in both release and debug mode, static link and dynamic.</p><p>Some logic errors I found :
</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/612964/987131#target">tariel36</a> said:</div><div class="quote"><p>
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>CButton::CButton<span class="k2">(</span><span class="k1">const</span> <span class="k1">float</span> px, <span class="k1">const</span> <span class="k1">float</span> py, <span class="k1">const</span> <span class="k1">float</span> w, <span class="k1">const</span> <span class="k1">float</span> h, <span class="k1">const</span> <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> c,
<span class="number">  2</span>                 <span class="k1">const</span> std::string str, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> image<span class="k2">)</span> <span class="k2">:</span>
<div class="highlight"><span class="number">  3</span>    PosX<span class="k2">(</span>px<span class="k2">)</span>, PosY<span class="k2">(</span>py<span class="k2">)</span>, Width<span class="k2">(</span>px<span class="k3">+</span>w<span class="k2">)</span>, Height<span class="k2">(</span>py<span class="k3">+</span>h<span class="k2">)</span>, Color<span class="k2">(</span>c<span class="k2">)</span>, Text<span class="k2">(</span>str<span class="k2">)</span>, Image<span class="k2">(</span>image<span class="k2">)</span></div><span class="number">  4</span><span class="k2">{</span><span class="k2">}</span>
<span class="number">  5</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="c">//....</span>
<span class="number">  8</span>
<span class="number">  9</span>
<span class="number"> 10</span><span class="k1">void</span> CButton::Draw<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 11</span>    <span class="k1">if</span><span class="k2">(</span>Image <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>PosX,PosY,Width,Height,Color<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>    <span class="k1">else</span> <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>Image,PosX,PosY,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span>    <span class="k1">if</span><span class="k2">(</span>OSP_DIN <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"no font\n"</span><span class="k2">;</span>
<div class="highlight"><span class="number"> 15</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>OSP_DIN,BLACK, PosX, PosY, ALLEGRO_ALIGN_CENTRE,<span class="s">"%s"</span>,Text.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></div><span class="number"> 16</span><span class="k2">}</span>
</div></div><p>
</p></div></div><p>

The first highlighted line is incorrect because you are assigning width and height of the button to (px + w) and (py + h) which are the right and bottom edges respectively, not the width and height. The second line is wrong because you&#39;re centering the text on the left edge of the button.</p><p>As to why it is crashing for you, I&#39;m not sure. You may be mixing library versions somehow but I don&#39;t know.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 14 Jul 2013 05:56:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>When you said it works for you and about mixing versions, something poked me to check gcc version again. Guess what. It was not 4.7 ... &gt;.&lt; I have chosen &quot;use pre-packed repository&quot; instead of &quot;download latest repository&quot; during first installation, probably. I tried to compile both main and test projects after update, both worked. Thanks a lot for your time and patience.</p><p>I am really sorry for wasting so much of your time because of such stupid mistake. <img src="http://www.allegro.cc/forums/smileys/embarassed.gif" alt=":-[" /></p><p>About highlightened lines. I know that those are not real width and height, but when I call button constructor I just put the width and height for button, so naming it like that, seemed logic, to me atleast.
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span><span class="c">//button will be 256px long and 40px high. Constructor takes care of math.</span>
<span class="number"> 2</span>CButton<span class="k2">(</span><span class="n">272</span>,<span class="n">256</span>,<span class="n">256</span>,<span class="n">40</span>,WHITE,<span class="s">"Nowa Gra"</span>,Button_256x40<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
Also I removed real text positioning for testing purposes, the real one looks like that:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 1</span><a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>OSP_DIN,BLACK, PosX<span class="k3">+</span><span class="k2">(</span><span class="k2">(</span>Width-PosX<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k2">)</span>, PosY<span class="k3">+</span><span class="k2">(</span><span class="k2">(</span>Height-PosY<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k3">-</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_font_line_height"><span class="a">al_get_font_line_height</span></a><span class="k2">(</span>OSP_DIN<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k2">)</span>, ALLEGRO_ALIGN_CENTRE,<span class="s">"%s"</span>,Text.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tariel36)</author>
		<pubDate>Sun, 14 Jul 2013 15:23:31 +0000</pubDate>
	</item>
</rss>
