<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Tool Tip crash</title>
		<link>http://www.allegro.cc/forums/view/591373</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 13 May 2007 23:35:17 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>When I move the mouse to the area for tool tip 1 the program crashes. Anyone know how to fix it?</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="k1">typedef</span> <span class="k1">struct</span> ToolTip</td></tr><tr><td class="number">2</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">3</td><td>    <span class="k1">int</span> top<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>    <span class="k1">int</span> bottom<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    <span class="k1">int</span> left<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    <span class="k1">int</span> right<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    <span class="k1">char</span> <span class="k3">*</span>text<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  <span class="k2">}</span> ToolTip<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  </td></tr><tr><td class="number">10</td><td>  ToolTip tips<span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span></td></tr><tr><td class="number">11</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>    <span class="k2">{</span> <span class="n">100</span>, <span class="n">150</span>, <span class="n">100</span>, <span class="n">250</span>, <span class="s">"Start new game"</span> <span class="k2">}</span>,<span class="c">//tool tip 1</span></td></tr><tr><td class="number">13</td><td>    <span class="k2">{</span> <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, NULL <span class="k2">}</span></td></tr><tr><td class="number">14</td><td>  <span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  </td></tr><tr><td class="number">16</td><td>  <span class="k1">int</span> tooltip <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>  <span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>  </td></tr><tr><td class="number">19</td><td>  <span class="k1">void</span> CMenu::logic_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td>    tooltip <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>    </td></tr><tr><td class="number">24</td><td>    <span class="k1">for</span> <span class="k2">(</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> tips<span class="k2">[</span> i <span class="k2">]</span>.text<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span></td></tr><tr><td class="number">25</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">26</td><td>      <span class="k1">if</span><span class="k2">(</span> <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&gt;</span><span class="k3">=</span> tips<span class="k2">[</span> i <span class="k2">]</span>.top <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">27</td><td>        <a href="http://www.allegro.cc/manual/mouse_y" target="_blank"><span class="a">mouse_y</span></a> <span class="k3">&lt;</span>  tips<span class="k2">[</span> i <span class="k2">]</span>.bottom <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">28</td><td>        <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&gt;</span><span class="k3">=</span> tips<span class="k2">[</span> i <span class="k2">]</span>.left <span class="k3">&amp;</span><span class="k3">&amp;</span></td></tr><tr><td class="number">29</td><td>        <a href="http://www.allegro.cc/manual/mouse_x" target="_blank"><span class="a">mouse_x</span></a> <span class="k3">&lt;</span>  tips<span class="k2">[</span> i <span class="k2">]</span>.right <span class="k2">)</span></td></tr><tr><td class="number">30</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">31</td><td>        tooltip <span class="k3">=</span> i<span class="k2">;</span></td></tr><tr><td class="number">32</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">33</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">34</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">35</td><td>  </td></tr><tr><td class="number">36</td><td>  <span class="k1">void</span> CMenu::draw_function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">37</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">38</td><td>    </td></tr><tr><td class="number">39</td><td>    <span class="k1">if</span> <span class="k2">(</span> tooltip <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k2">)</span></td></tr><tr><td class="number">40</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">41</td><td>      <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, </td></tr><tr><td class="number">42</td><td>        <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, </td></tr><tr><td class="number">43</td><td>        tips<span class="k2">[</span> i <span class="k2">]</span>.text,</td></tr><tr><td class="number">44</td><td>        tips<span class="k2">[</span> i <span class="k2">]</span>.left, </td></tr><tr><td class="number">45</td><td>        tips<span class="k2">[</span> i <span class="k2">]</span>.bottom, </td></tr><tr><td class="number">46</td><td>        <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,</td></tr><tr><td class="number">47</td><td>        <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>&#160;</td></tr><tr><td class="number">49</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">50</td><td>    <span class="c">// do drawing to buffer</span></td></tr><tr><td class="number">51</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span> buffer, <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>, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td>  <span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Sun, 13 May 2007 18:01:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
i is going to be something wrong here, resulting in going out-of-bounds on the tooltip array:</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
tips[ i ].text,<br />				tips[ i ].left, <br />				tips[ i ].bottom,
</p></div></div><p>

For that matter, why is i a global and not just a local thing inside the for loop?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 13 May 2007 18:05:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Im not the best programmer in the world so bare ith me.</p><p>&#39;i&#39; : undeclared identifier in the draw_function() if I only declare it in the logic_function()
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Sun, 13 May 2007 18:10:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As far as I can see, i is never changed from it&#39;s initial value of 0, at least in that code snippet.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sun, 13 May 2007 18:20:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m assuming logic_function is called now and then, which would screw with things eventually, I should think. Anyway, why are you even using <i>i</i> in that function when what you want to use is <i>tooltip</i>?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 13 May 2007 18:23:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nevermind, I completely overlooked that for loop. <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /></p><p>But yeah, why is i global? And why is the variable to tell you what tooltip to draw global, instead of a class member?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sun, 13 May 2007 18:33:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>dont know how to do it any other way, I suck at programming I'm dumb!. Does it matter?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Sun, 13 May 2007 18:41:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Go back and learn the basics before trying to tackle this task. It&#39;s way above your head. Do something simpler first, like Hello World, and go from there. Preferably in a slightly more safe language like Python.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 13 May 2007 18:46:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry X-G I&#39;m doing c++ for my degree not python. Doing this is helping me alot.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Sun, 13 May 2007 19:01:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m being serious. You don&#39;t seem to grasp the basics of imperative programming. Without even that, dealing with the additional intricacies of a language like C++ is going to be outside of your league. You need to start at the bottom and work your way up, and Python is a good language for a beginner. I recommend you try that out.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 13 May 2007 19:07:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Sorry X-G I&#39;m doing c++ for my degree not python. Doing this is helping me alot.
</p></div></div><p>

How is this helping you?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sun, 13 May 2007 19:45:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t think it was mentioned explicitly but all I think you need to do is change draw_function to this
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span> tooltip <span class="k3">&gt;</span><span class="k3">=</span><span class="n">0</span> <span class="k2">)</span>
    <span class="k2">{</span>
      <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span> buffer, 
        <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, 
        tips<span class="k2">[</span> tooltip <span class="k2">]</span>.text,
        tips<span class="k2">[</span> tooltip <span class="k2">]</span>.left, 
        tips<span class="k2">[</span> tooltip <span class="k2">]</span>.bottom, 
        <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">222</span>, <span class="n">100</span>, <span class="n">111</span><span class="k2">)</span>,
        <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Sun, 13 May 2007 19:52:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Geez, kazzmir, that way he won&#39;t learn anything. And if he can&#39;t figure out that bit for himself, he really needs to start out with something simpler, as I said.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 13 May 2007 20:25:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Im doing it for fun as well X-G, dont be so serious <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /></p><p>Edit: Awesome kazzmir, thanks for the help. I can continue programming my game in C++ now.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fire Wolf)</author>
		<pubDate>Sun, 13 May 2007 23:29:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Fire, for the ToolTip struct, you declare <tt>char *text</tt>, and then later create two objects: the first contains the text, &quot;Start new game&quot; and the other contains NULL.</p><p>If you change &quot;Start new game&quot; to NULL or even &#39;\0&#39;, does it still crash?</p><p>Just briefly looking at it would make me think that <tt>*text</tt> hasn&#39;t been given a specific size, and therefore, would SEGFAULT when you try to cram &quot;Start new game&quot; into it.</p><p>Try changing it to NULL and see if it still crashes.  If not, my theory is wrong, but nothing&#39;s really wasted but a few minutes of testing time <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (TeamTerradactyl)</author>
		<pubDate>Sun, 13 May 2007 23:35:17 +0000</pubDate>
	</item>
</rss>
