<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Allegro 5.0.0rc1 released!</title>
		<link>http://www.allegro.cc/forums/view/605549</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 28 Nov 2010 10:15:58 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><a href="http://sourceforge.net/projects/alleg/files/allegro-prerelease/5.0.0-rc1/">http://sourceforge.net/projects/alleg/files/allegro-prerelease/5.0.0-rc1/</a></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Changes from 4.9.22 to 5.0.0 RC1 (November 2010)<br />================================================</p><p>The developers this time were: Trent Gamblin, Evert Glebbeek, Elias Pschernig,<br />Paul Suntsov, Peter Wang.</p><p>Graphics:</p><p>-  Make al_resize_display keep the original resolution (or change back) if it<br />   can&#39;t set the users request, on Windows.</p><p>-  Do not emit ALLEGRO_DISPLAY_RESIZE events from the Windows and X11 display<br />   drivers when using al_resize_display.</p><p>-  [X11] Make al_get_num_display_modes and al_get_display_mode work if the<br />   adapter is set to default. Right now there was no way to query the modes of<br />   the default monitor.</p><p>-  [X11] Use _NET_WM_STATE_FULLSCREEN hint for &quot;true&quot; fullscreen displays.<br />   Enable mouse grabbing in fullscreen modes.</p><p>-  Added ALLEGRO_EVENT_DISPLAY_ORIENTATION and implement it on iOS.</p><p>-  Dennis Busch fixed a problem with displays not showing up on the<br />   primary display by default in some dual head setups, on Windows.</p><p>-  Increase the precision of texture coordinate deltas in the software triangle<br />   renderer, from floats to doubles.</p><p>-  Remove al_get_frontbuffer(). It wasn&#39;t implemented anywhere.</p><p>-  Implement min/mag filter and mipmap flags for Direct3D.</p><p>Input:</p><p>-  Report correct initial mouse position if a display is created with the mouse<br />   pointer inside, or if the mouse routines are installed after a display is<br />   created (X11, Windows).</p><p>-  John Murphy fixed improperly mapped axes on the Windows joystick driver.</p><p>Events:</p><p>-  Do not register user event sources with the destructor system as it cannot<br />   work reliably.  User event sources must be destroyed manually.</p><p>Filesystem:</p><p>-  Make al_get_fs_entry_name and al_get_current_directory return strings<br />   instead of ALLEGRO_PATH.</p><p>-  Make al_make_directory create parent directories as needed.</p><p>-  Fix al_create_fs_entry to not trim the root path &quot;/&quot; down to the empty<br />   string with the stdio backend.</p><p>Path routines:</p><p>-  Remove al_make_path_absolute and replace it by al_rebase_path.</p><p>-  Remove undocumented behavior of setting a default organization name of<br />   &quot;allegro&quot; for all apps.</p><p>-  Correctly return standard paths as directories on OS X.</p><p>Threads:</p><p>-  Rename al_wait_cond_timed to al_wait_cond_until to match al_wait_cond_until.</p><p>Config routines:</p><p>-  Add a blank line between sections when writing out a config file.</p><p>Other core:</p><p>-  Move the Windows event loops back into the same thread as the D3D event<br />   loop. It&#39;s a requirement of D3D, else you can get crashes as I was when<br />   resetting the device (like tabbing away from a fullscreen app).</p><p>-  Add some missing standard entries to the OS X menu bar (the &quot;hide&quot;, &quot;hide<br />   others&quot; and the window list, mainly).</p><p>Audio addon:</p><p>-  Automatically stop sample instances which point to a buffer of a sample<br />   which is about to be destroyed with al_destroy_sample.</p><p>-  alsa: Resume properly after suspending.</p><p>Image I/O addon:</p><p>-  Make GDI+ support compile cleanly with the headers that come with MinGW<br />   package w32api-3.15.</p><p>-  Speed up PNG and BMP saving, and NSImageFromAllegroBitmap loading.</p><p>TTF addon:</p><p>-  Add a flag for loading TTFs without anti-aliasing (ALLEGRO_TTF_MONOCHROME).</p><p>PhysicsFS addon:</p><p>-  Make PhysFS implementation of al_get_current_directory return &quot;/&quot;, not NULL.</p><p>Primitives addon:</p><p>-  Fix several failed sub-bitmap related unit tests on Windows.</p><p>-  Made thick outlined triangles look nicer when the triangles are very thin.</p><p>-  Add a debug-only check for primitives addon initialization to aid in code<br />   portability.</p><p>Examples:</p><p>-  Added example demonstrating the effect of premultiplied alpha.</p><p>-  Make &#39;F&#39; toggle fullscreen window in SPEED (in-game).</p><p>-  Minor improvements to the a5teroids demo.</p><p>Documentation:</p><p>-  Many documentation updates.</p><p>-  Add list of contributors and a readme for packagers.</p><p>-  Make make_doc tool build cleanly on MSVC, and work around a problem with<br />   recent version of Pandoc on Windows.</p><p>-  Improve styling of PDF output.</p><p>-  Add generated man pages to archives.</p><p>Bindings:</p><p>-  Implemented array types in the Python wrapper.
</p></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Sun, 14 Nov 2010 16:16:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>thank you!</p><p>will give it a go.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Japa Illo)</author>
		<pubDate>Sun, 14 Nov 2010 16:26:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Furinkan increased to level 5.0.0rc1!</p><p>Furinkan is trying to learn A5,<br />but Furinkan can only learn 4 gfx apis!</p><p>Forget an older  gfx api to learn A5?<br />&gt;yes    no</p><p>Which one?<br />  Alleg4 GL<br />  &gt;DX3D GX<br />  <br />Furinkan forgot DX3D and...</p><p>Furinkan learned A5!
</p></div></div><p>
<img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (furinkan)</author>
		<pubDate>Sun, 14 Nov 2010 16:54:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>milestone.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Karadoc ~~)</author>
		<pubDate>Sun, 14 Nov 2010 16:57:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Achievement Gained: Allegro 5.0rc1!</p><p><div class="media-player youtube"><div style="margin: 1em 2em; background: url(/images/movie.png); width: 180px; height: 100px; text-align: center;"><a href="http://www.allegro.cc//www.youtube.com/watch?v=B1A-Ymf1VYY" target="_blank"><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/object/6/0/6085846ddae28683b001ce12535dc020.jpg" border="0" alt="video" title="Click to play video" /></a></div></div>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 14 Nov 2010 16:59:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>We should all drink a beer in celebration.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> Report correct initial mouse position if a display is created with the mouse<br />   pointer inside, or if the mouse routines are installed after a display is<br />   created </p></div></div><p>nice. <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Sun, 14 Nov 2010 17:08:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I should get on Mr. Harbour&#39;s forums and pester him to update his book!</p><p>Allegro needs more public exposure.</p><p>@Thomas:<br />Nice choice on the foamy!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (furinkan)</author>
		<pubDate>Sun, 14 Nov 2010 17:45:21 +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/605549/890333#target">Mark Oates</a> said:</div><div class="quote"><p>We should all drink a beer in celebration.</p></div></div><p>

I&#39;ll save that for when the final 5.0.0 is out, RC1, RC2, RC3, ... is just a different way of naming versions <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Sun, 14 Nov 2010 18:26:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, RC should at least mean no more API changes right?<br />I don&#39;t mind if you add functions, but if you change existing functions from now on it&#39;s just not right...</p><p>Adding functions after disallowing changes would be rather risky though.<br />So I recommend sticking to bug fixes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Sun, 14 Nov 2010 18:51:29 +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/605549/890347#target">Trezker</a> said:</div><div class="quote"><p>Well, RC should at least mean no more API changes right?<br />I don&#39;t mind if you add functions, but if you change existing functions from now on it&#39;s just not right...</p></div></div><p>This means 5.0 won&#39;t have any removals, or renames or arg changes.</p><p>5.0 is frozen now, fixes only till 5.0.0 is released.</p><p>5.1 however is open, and additions can be made there. I&#39;m not sure if we guarantee strict source compatibility between 5.x releases, but I think we might? In that case, only additions can be made between 5.x releases.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 14 Nov 2010 18:57:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Alas, I hoped that ALLEGRO_VERSION would be 5 now. When will that be changed?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Sun, 14 Nov 2010 19:10:27 +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/605549/890350#target">tobing</a> said:</div><div class="quote"><p>Alas, I hoped that ALLEGRO_VERSION would be 5 now. When will that be changed?</p></div></div><p>It is as far as I know. Versions in 5.0 and 5.1 branches have been properly changed. Even 4.9 should show 5.0.</p><p>Append: It is in the zip on sourceforge as well.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 14 Nov 2010 19:12:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ha, seems that I was too quick. NOW 4.9 is 5.0, and I didn&#39;t realize that I have to get the 5.0 branch from SVN.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Sun, 14 Nov 2010 19:15:24 +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/605549/890352#target">tobing</a> said:</div><div class="quote"><p>Ha, seems that I was too quick. NOW 4.9 is 5.0, and I didn&#39;t realize that I have to get the 5.0 branch from SVN.</p></div></div><p>It should be 5.0 in the old 4.9 branch as well. Thats where peter changed it first, then tagged RC1, and branched 5.0 off of.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 14 Nov 2010 19:17:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Now got it all right. </p><p>There&#39;s one thing I would like to make in a different way, but I&#39;m not sure how to do it cleanly... </p><p>I&#39;d like to build the core allegro library as DLL, but all addons as static libs, in fact I&#39;d like to include the required sources into one bigger static library.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Sun, 14 Nov 2010 20:42:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Seems Allegro 5 might be released before DNF after all. <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" /></p><p><sub>(Febreaury/March 2011)</sub>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dario ff)</author>
		<pubDate>Sun, 14 Nov 2010 20:46:23 +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/605549/890361#target">tobing</a> said:</div><div class="quote"><p>I&#39;d like to build the core allegro library as DLL, but all addons as static libs, in fact I&#39;d like to include the required sources into one bigger static library.
</p></div></div><p>

Why would you want that? If you link the addons static, you may as well link that main dll static, as the addons depend on it. Or do you mean you want something like the allegro-monolith.dll, i.e. just one big DLL which has allegro and all addons and their dependencies?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Sun, 14 Nov 2010 21:04:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, doing everything static would be one solution, yes. With allegro4 I had allegro DLL, lpng and zlib DLLs, and almost everything else packed into one static lib. There are two game projects sitting on this, so they both took from the static lib only what they need and import the DLL stuff they use. This gives only few DLLs, but has allegro (and lpng and zlib) as shared library... </p><p>So, this is perhaps mostly a matter of taste here. One of the nice aspects of using DLLs is that global variables are lock in there... which is not the case for static libraries. </p><p>Definitely not a mega DLL including everything. </p><p>Hmmm... maybe I should take this as opportunity to switch to all static libraries after all.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Sun, 14 Nov 2010 21:21:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nice. Downloading.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kenmasters1976)</author>
		<pubDate>Mon, 15 Nov 2010 00:23:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m wondering... where have pack files gone? Am I supposed to use zip files instead? </p><p>What about the nice config file routines, it seems that I have to re-implement things using the new functionality? </p><p>Why are useful functions like get_extension not there any longer? </p><p>I&#39;m really missing a lot of convenient functions, which looks like I have to re-implement things that have been present in allegro 4.4.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Mon, 15 Nov 2010 02:44:10 +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/605549/890410#target">tobing</a> said:</div><div class="quote"><p>
I&#39;m wondering... where have pack files gone? Am I supposed to use zip files instead? 
</p></div></div><p>
Yep. With the PhysFS addon.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
What about the nice config file routines, it seems that I have to re-implement things using the new functionality? 
</p></div></div><p>
Is <a href="http://alleg.sourceforge.net/a5docs/refman/config.html">this</a> not good enough for you? </p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Why are useful functions like get_extension not there any longer? 
</p></div></div><p>
<a href="http://alleg.sourceforge.net/a5docs/refman/path.html#al_get_path_extension">al_get_path_extension</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 15 Nov 2010 02:51:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Zip files are OK, but I liked pack files a lot, too. </p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Is this [alleg.sourceforge.net] not good enough for you?
</p></div></div><p>
Well, that is pretty suggestive. It&#39;s not good enough, in some way, yes. I can implement what I&#39;m using with those functions, but I have to implement all parsing, handling of default values and more than one config file at a time all by myself, whereas allegro 4&#39;s functions did a lot of that work for me. That&#39;s why I&#39;m asking. </p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
al_get_path_extension [alleg.sourceforge.net]
</p></div></div><p>
Sorry, I missed that one. Ürobably because I didn&#39;t think of doing it that way - I have a file name and want to get the extension, or cut the extension off to show only the file name in a list. Now, I have to create an ALLEGRO_PATH object, find the basename and destroy the object after that. To me that seems overly complicated. </p><p>Please don&#39;t understand me wrong here. I don&#39;t mean to criticize everything, mainly I want to know why certain things have been dropped or are done in less convenient ways than before. On the other hand I appreciate the nifty new things, like threads and all the hardware acceleration stuff.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Mon, 15 Nov 2010 03:05:03 +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/605549/890416#target">tobing</a> said:</div><div class="quote"><p>I can implement what I&#39;m using with those functions, but I have to implement all parsing, handling of default values and more than one config file at a time all by myself, whereas allegro 4&#39;s functions did a lot of that work for me. That&#39;s why I&#39;m asking.</p></div></div><p>
I find it&#39;s actually easier to use multiple config files with A5 than it is with A4, but that&#39;s probably just a matter of taste.<br />It&#39;s true that you don&#39;t get default values, but it&#39;s very easy to emulate Allegro 4&#39;s config routines on top of Allegro 5 functions if you really want that feature - and in fact, I&#39;ve done that for a project I&#39;m porting from Allegro 4 to Allegro 5 (have a look at the demos/speed/a4_aux.c file for the basic idea).</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I have a file name and want to get the extension, or cut the extension off to show only the file name in a list. Now, I have to create an ALLEGRO_PATH object, find the basename and destroy the object after that. To me that seems overly complicated.</p></div></div><p>
I think the reason it&#39;s done this way is to accomodate different encodings in the filesystem and in the Allegro strings (which are always UTF-8), but I didn&#39;t follow that discussion in a great amount of detail (basically because I didn&#39;t personally care about the issues that were raised).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Mon, 15 Nov 2010 03:15:11 +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/605549/890416#target">tobing</a> said:</div><div class="quote"><p>
Well, that is pretty suggestive. It&#39;s not good enough, in some way, yes. I can implement what I&#39;m using with those functions, but I have to implement all parsing, handling of default values and more than one config file at a time all by myself, whereas allegro 4&#39;s functions did a lot of that work for me. That&#39;s why I&#39;m asking. 
</p></div></div><p>
Yes. The new way is more powerful (marginally) but less convenient, no argument there.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Sorry, I missed that one. Ürobably because I didn&#39;t think of doing it that way - I have a file name and want to get the extension, or cut the extension off to show only the file name in a list. Now, I have to create an ALLEGRO_PATH object, find the basename and destroy the object after that. To me that seems overly complicated. 
</p></div></div><p>
How would you get that filename in the first place? The native file dialog addon returns ALLEGRO_PATH for example. The filesystem functions don&#39;t... but I think that&#39;s a problem of those functions, not of the ALLEGRO_PATH concept.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 15 Nov 2010 03:15:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Not to mention that when you&#39;re messing with path&#39;s in A5 you really want to be using an ALLEGRO_PATH rather than a char* or a std::string. ALLEGRO_PATH is much handier, and you don&#39;t have to worry about unicode.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 15 Nov 2010 03:18:50 +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/605549/890417#target">Evert</a> said:</div><div class="quote"><p>have a look at the demos/speed/a4_aux.c file for the basic idea
</p></div></div><p>
Yes, I have seen that. </p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I think the reason it&#39;s done this way is to accomodate different encodings in the filesystem and in the Allegro strings (which are always UTF-8)
</p></div></div><p>
Ah, right, files are UTF8 on modern systems, so things tend to be more complicated. Sigh. </p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/605549/890418#target">SiegeLord</a> said:</div><div class="quote"><p>How would you get that filename in the first place? The native file dialog addon returns ALLEGRO_PATH for example. The filesystem functions don&#39;t... but I think that&#39;s a problem of those functions, not of the ALLEGRO_PATH concept.
</p></div></div><p>

Well, good point. I think I get the file name from a function which traverses a directory and calls a callback function for each file name that matches a simple pattern, like &quot;*.lua&quot;. Inside I have a ALLEGRO_FS_ENTRY from which I get the path name... </p><p>After all, it might be necessary to change more code than I anticipated. There&#39;s a lot of small things that pile up.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Mon, 15 Nov 2010 03:26:00 +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/605549/890420#target">tobing</a> said:</div><div class="quote"><p>Inside I have a ALLEGRO_FS_ENTRY from which I get the path name...</p></div></div><p>I really would have liked there to be functions to get an ALLEGRO_PATH from an ALLEGRO_FS_ENTRY as well as from <span class="source-code">al_read_directory</span>. Would have made everything nice, but It never got done.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 15 Nov 2010 03:49:03 +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/605549/890420#target">tobing</a> said:</div><div class="quote"><p>Ah, right, files are UTF8 on modern systems, so things tend to be more complicated.</p></div></div><p>
If only. In that case things would be easier.<br />As I recall, it&#39;s UTF8 on OS X (or at least the interface lets you pretend its all UTF8), but it&#39;s UTF16 (?) on Windows, and whatever you want on Linux.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>After all, it might be necessary to change more code than I anticipated. There&#39;s a lot of small things that pile up.</p></div></div><p>
Yes.<br />I&#39;ve kept notes of my porting effort for my game, which I&#39;ll clean up and post here at some point (sooner rather than later, I hope).</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/605549/890426#target">Thomas Fjellstrom</a> said:</div><div class="quote"><p>I really would have liked there to be functions to get an ALLEGRO_PATH from an ALLEGRO_FS_ENTRY as well as from al_read_directory. Would have made everything nice, but It never got done.</p></div></div><p>
No reason we couldn&#39;t add those in 5.1, right?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Mon, 15 Nov 2010 04:21:27 +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/605549/890430#target">Evert</a> said:</div><div class="quote"><p>As I recall, it&#39;s UTF8 on OS X (or at least the interface lets you pretend its all UTF8), but it&#39;s UTF16 (?) on Windows, and whatever you want on Linux.</p></div></div><p>Most times on linux its some ASCII code page, or UTF-8. More modern systems will choose UTF-8.</p><p>And since Allegro 5 has gone for &quot;All UTF-8 all the time&quot;, it accepts ONLY valid UTF-8 for its own strings, and will convert to UCS-2 or UTF-16 on windows.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>No reason we couldn&#39;t add those in 5.1, right?</p></div></div><p>I would&#39;ve LOVEed it if the versions that handle <span class="source-code"><span class="k1">char</span><span class="k3">*</span></span> were never added to begin with. But that may have made more people un-happy. But yeah, they can probably be added in 5.1.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 15 Nov 2010 04:26:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><b>Great job you guys! Even the readme_msvc.txt build procedure is manageable. I would just add:</b>
</p><ul><li><p>When converting an MSVC 9 project to MSVC 10 (to work around the CMake naming bug) several compiler errors will result related to int64_t. To fix this, uncomment the line: <span class="source-code"><span class="p">#define ALLEGRO_HAVE_STDINT_H</span></span> in alplatf.h.
</p></li><li><p>Another option is to alter the CMake file so the Allegro DLL&#39;s don&#39;t have dots in their names. In the common.cmake file change: `SUFFIX -${ALLEGRO_SOVERSION}.dll` -&gt; `SUFFIX -${ALLEGRO_DLL_SHORTVER}.dll`. Now CMAKE will generate valid MSVC 10 project files. Note this is not a good option if you want your Allegro programs to dynamically link to the Allegro library files built and shared by everyone else.
</p></li><li><p>Running the examples. There are two other options:
</p><ol><li><p>Build the INSTALL project. This copies the library files into MSVC&#39;s search path (%VCINSTALLDIR%\bin). Then you can select a startup project and run it with F5 (from within MSVC).
</p></li><li><p>Copy the Allegro DLL files to a new directory (like C:\ALLEGRO_BIN). Then append that directory to your system %PATH%. Now you can run Allegro 5 programs from any path on your system (including from within MSVC)</p></li></ol></li></ul><p><b>I made a cursory survey of all the example programs, and I found some things that might need fixing:</b>
</p><ul><li><p>ex_utf8, ex_ttf, ex_font and ex_config fail to compile with warning C4819 if the default locale is not set to English (mine was set to CP949, Korean). The work-around is to set the system locale to English.
</p></li><li><p>The Windows taskbar is rendered over ex_dualies. This problem is common to most of the dual monitor/fullscreen window examples. In addition, ex_dualies has some intermittent problems:
</p><ul><li><p>Occasionally causes explorer to crash on startup.
</p></li><li><p>Sometimes the Mysha display only shows a solid green color.
</p></li><li><p>Sometimes the Windows taskbar is not restored to its original size+location.
</p></li></ul></li><li><p>ex_fs_resize does not work very well with a dual monitor setup. It fails to change the resolution; it just sits in a semi-opened state (the log window is open, but the other window is just a sliver in the taskbar.) ex_fs_resize works if the monitors are duplicated, showing the exact same thing at the same resolution.
</p></li><li><p>ex_threads sometimes results in one of two types of errors:
</p><ol><li><p>When starting: fatal error (Callstack attached.)
</p></li><li><p>When closing: First-chance exception at 0x7741f49f in ex_threads.exe. (Callstack attached.)
</p></li></ol></li><li><p>ex_winfull taskbar also has some issues with the Windows taskbar being rendered over the Allegro display. On a dual monitor setup, I actually see two windows: the regular one on one monitor, and fullscreen window on the other. Clicking on the regular window causes the taskbar to occlude the fullscreen one. Works fine if the monitors are set to duplicate eachother instead of extend the desktop.
</p></li><li><p>speed also has a problem with the Windows taskbar covering the Allegro window when switching to fullscreen mode with &quot;F&quot;. The work-around is to click the taskbar, then click the Allegro window. I do not see the &quot;regular sized&quot; window with this one (like ex_winfull)
</p></li><li><p>Building the run_tests projects results in several failures. These tests all passed in a previous SVN version of Allegro. List of failed tests attached.</p></li></ul><p><b>Environment:</b>
</p><ul><li><p>Ran all examples from within MSVC; RelWithDebugInfo
</p></li><li><p>Allegro 5.0.0rc1
</p></li><li><p>MSVC Express 2010
</p></li><li><p>Windows 7 32-bit
</p></li><li><p>Lenovo X301 laptop
</p></li><li><p>FS-HS240LEDT external monitor
</p></li></ul></div>]]>
		</description>
		<author>no-reply@allegro.cc (wonsungi)</author>
		<pubDate>Mon, 15 Nov 2010 04:26:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Regarding CMake and MSVC 10, you can:
</p><ul><li><p>use nmake instead of project files, or
</p></li><li><p>use my <a href="http://www.allegro.cc/forums/thread/604513/873664#target">patched copy</a> of cmake</p></li></ul><p>That&#39;s assuming they haven&#39;t fixed the big in CMake yet.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 15 Nov 2010 06:08:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for testing!</p><ul><li><p>Does this mean MSVC 10 has stdint.h?</p><br /></li><li><p>ex_utf8, ex_ttf, ex_font and ex_config: unfortunately I can&#39;t find a decent solution to this. I don&#39;t really want to externalise the strings or use hex codes as some of these are meant to be readable examples. Apparently MSVC will treat these files are UTF-8 encoded if they have the stupid byte order mark (BOM) at the start; can you test if that works? I can&#39;t believe there is no command line option to force the input encoding.</p><br /></li><li><p>I believe the failing test cases are related to r13800. I did not have time to investigate whether the library or the test suite is at fault.
</p></li></ul></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Mon, 15 Nov 2010 06:16:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, MSVC2010 has stdint.h.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Michał Cichoń)</author>
		<pubDate>Mon, 15 Nov 2010 06:18:20 +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/605549/890451#target">Peter Wang</a> said:</div><div class="quote"><p> Does this mean MSVC 10 has stdint.h
</p></div></div><p>Yes, and Allegro supports it correctly. The problem is CMake does not build proper MSVC 10 files, and the MSVC 9 ones are not compatible.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 15 Nov 2010 07:02:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Would an option be to just rename the DLLs for windows to use the dll short version rather than SO version?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 15 Nov 2010 07:05:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://">Peter Wang</a> said:</div><div class="quote"><p>Apparently MSVC will treat these files are UTF-8 encoded if they have the stupid byte order mark (BOM) at the start; can you test if that works? I can&#39;t believe there is no command line option to force the input encoding.</p></div></div><p>

Yes, it compiles... but it doesn&#39;t quite fix it. The BOM introduces compilation warnings in the English locale, then! There are still (different) warnings for the Korean local, too. The Unicode literal outputs of both programs are not properly printed; the UTF tests fail and/or hang.</p><p>Sample warning when compiling BOM file in Korean locale (CP949):<br />warning C4566: character represented by universal-character-name &#39;\u25A2&#39; cannot be represented in the current code page (949)</p><p>Sample warning when compiling BOM file in English locale (CP1252):<br />warning C4566: character represented by universal-character-name &#39;\u25A0&#39; cannot be represented in the current code page (1252)</p><p>I tried several other encodings, too: Unicode, Unicode Big-Endian, UFT-7. The only combination that worked was UFT-8 without signature compiled in English Locale.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wonsungi)</author>
		<pubDate>Mon, 15 Nov 2010 07:56:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok, thanks. What happens to wide character strings, L&quot;€&quot;? If we can convince MSVC to use UTF-16 encoding for those, we can do a runtime conversion to UTF-8. With a C++ class it should be relatively painless.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Mon, 15 Nov 2010 12:26:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>And of course build for Windows:<br /><a href="http://77.55.66.239/thedmd/allegro/5.0.0-rc1/allegro-5.0.0-rc1-mingw-3.4.5.7z">allegro-5.0.0-rc1-mingw-3.4.5.7z</a><br /><a href="http://77.55.66.239/thedmd/allegro/5.0.0-rc1/allegro-5.0.0-rc1-mingw-4.2.1-sjlj.7z">allegro-5.0.0-rc1-mingw-4.2.1-sjlj.7z</a><br /><a href="http://77.55.66.239/thedmd/allegro/5.0.0-rc1/allegro-5.0.0-rc1-mingw-4.4.0.7z">allegro-5.0.0-rc1-mingw-4.4.0.7z</a><br /><a href="http://77.55.66.239/thedmd/allegro/5.0.0-rc1/allegro-5.0.0-rc1-mingw-4.5.0.7z">allegro-5.0.0-rc1-mingw-4.5.0.7z</a><br /><a href="http://77.55.66.239/thedmd/allegro/5.0.0-rc1/allegro-5.0.0-rc1-msvc-10.0.7z">allegro-5.0.0-rc1-msvc-10.0.7z</a><br /><a href="http://77.55.66.239/thedmd/allegro/5.0.0-rc1/allegro-5.0.0-rc1-msvc-8.0.7z">allegro-5.0.0-rc1-msvc-8.0.7z</a><br /><a href="http://77.55.66.239/thedmd/allegro/5.0.0-rc1/allegro-5.0.0-rc1-msvc-9.0.7z">allegro-5.0.0-rc1-msvc-9.0.7z</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Michał Cichoń)</author>
		<pubDate>Mon, 15 Nov 2010 14:15:50 +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/605549/890430#target">Evert</a> said:</div><div class="quote"><p>
I&#39;ve kept notes of my porting effort for my game, which I&#39;ll clean up and post here at some point (sooner rather than later, I hope).
</p></div></div><p>
This I&#39;m looking forward to, I guess that it will be of great help for newbies to A5. One of the big things I&#39;m going to port next is the game loop, which I think will have to look very different from the previous implementation.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Mon, 15 Nov 2010 14:18:09 +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/605549/890480#target">Peter Wang</a> said:</div><div class="quote"><p>Ok, thanks. What happens to wide character strings, L&quot;€&quot;? If we can convince MSVC to use UTF-16 encoding for those, we can do a runtime conversion to UTF-8. With a C++ class it should be relatively painless.</p></div></div><p>

I forgot to mention I tried L&quot;&quot;, too. MSVC complains about incompatible types. I also tried the &quot;_T()&quot; macro without any luck.</p><p>I suppose it might work if we modify Allegro a little. Is that what you mean by runtime conversion? I was reading the <a href="http://stackoverflow.com/questions/688760/how-to-create-a-utf-8-string-literal-in-visual-c-2008">L&quot;&quot; macro messes up non-MSVC compilers</a>, though...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wonsungi)</author>
		<pubDate>Mon, 15 Nov 2010 14:55:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Allegro would remain the same. In the one or two examples, we would write U(&quot;føø&quot;), where U(s) is a macro that expands to convert(L&quot;føø&quot;) on MSVC, and &quot;føø&quot; everywhere else. convert() would return a pointer a UTF-8 string. This just requires that MSVC consistently output a UTF-16 string whenever we use the L&quot;&quot; syntax, which surely it does?</p><p>EDIT: attached a patch you can try (specifically ex_ttf).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Mon, 15 Nov 2010 15:27:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>L&quot;&quot; convert to UCS-2, not UTF-16.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Michał Cichoń)</author>
		<pubDate>Mon, 15 Nov 2010 15:59:17 +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/605549/890410#target">tobing</a> said:</div><div class="quote"><p>
I&#39;m really missing a lot of convenient functions, which looks like I have to re-implement things that have been present in allegro 4.4.
</p></div></div><p>

I ported the 4.4 skater demo to the 5.0 API and it&#39;s true to some extent. Basically I had to spend most time in unexpected places, like string/path handling and config files. In my case for the config files I used the versions from a4_aux.h with builtin types and default values. For path handling i changed to using ALLEGRO_PATH, which was some work but made the code more readable than the original. All the old u* functions need to be replaced with ALLEGRO_USTR, which actually has more convenience functions than the old ones.</p><p>Replacing all the messy code which randomly queries key[] and uses a timer and rest() for timing and implements 3 different double buffering methods was rather easy on the other hand. And the new events code is more reliable (e.g. no key presses can&#39;t be missed like with key[]), and it&#39;s also shorter and easier to read.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Mon, 15 Nov 2010 16:16:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, I have seen the stuff in a4_aux* already. I think I&#39;ll do similar things for config files, I just have to add support for override_config_file to what you have already done there. </p><p>Path and file system handling is an issue. For example, I have a function in place that takes care of auto saves. So all auto saves are collected from the file system, then the oldest are deleted, such that only a given maximum number of such auto saves exists. This requires matching file names, using a pattern like &quot;auto*.vacs&quot;, then sorting the entries by modification date. Sure, this is possible with the new interfaces, except for the pattern matching... how would I do that? Which library to use here, that doesn&#39;t come a with massive overkill? </p><p>For the game loop and display stuff, I think I&#39;ll just re-write those parts. Will hopefully result in less and cleaner code. And yes, there&#39;s an occasional access to key[] and mouse_b...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Mon, 15 Nov 2010 17:57:00 +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/605549/890491#target">tobing</a> said:</div><div class="quote"><p>One of the big things I&#39;m going to port next is the game loop, which I think will have to look very different from the previous implementation.</p></div></div><p>
I was dreading this part, but in the end, it was all very painless. The way I&#39;d set up the code probably helped here though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Mon, 15 Nov 2010 18:12:44 +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/605549/890514#target">Evert</a> said:</div><div class="quote"><p>
I was dreading this part, but in the end, it was all very painless. The way I&#39;d set up the code probably helped here though.
</p></div></div><p>

Yes, that was just like my experience with the skater demo. I have to praise whoever wrote that demo for doing input handling the way it was done. Also for not using the A4 GUI, in which case I&#39;d not have attempted the port.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Mon, 15 Nov 2010 18:18:33 +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/605549/890516#target">Elias</a> said:</div><div class="quote"><p>Also for not using the A4 GUI, in which case I&#39;d not have attempted the port.</p></div></div><p>
Guess what my project was using for the menu screens... <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /><br />Actually that bit also wasn&#39;t so bad; A4&#39;s GUI is reasonably self-contained, so I ripped it out of whatever Allegro 4 version I had installed at the time. Then it&#39;s just a matter of replacing/emulating all the input code in there (fairly straightforward) and getting the widgets to compile (again easy with a tweaked version of a4_aux). Not that I haven&#39;t actually tested most of them, since I&#39;m using custom widgets for most things.<br />There are a few glitches here and there (and some things I changed that didn&#39;t work the way I wanted to to begin with) but overall that was also more tedious than painful.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Mon, 15 Nov 2010 18:26:57 +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/605549/890496#target">Peter Wang</a> said:</div><div class="quote"><p>Allegro would remain the same. In the one or two examples, we would write U(&quot;føø&quot;), where U(s) is a macro that expands to convert(L&quot;føø&quot;) on MSVC, and &quot;føø&quot; everywhere else. convert() would return a pointer a UTF-8 string. This just requires that MSVC consistently output a UTF-16 string whenever we use the L&quot;&quot; syntax, which surely it does?</p><p>EDIT: attached a patch you can try (specifically ex_ttf).</p></div></div><p>

The patch seems to do the trick. No MSVC compiler warnings in US or Korean locales, and the UTF output looks good in both the resulting executables.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (wonsungi)</author>
		<pubDate>Tue, 16 Nov 2010 05:43:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Congrats to Allegro team on their impending 5.0 release.<br />I love Allegro, old and new.</p><p>Will support for stencils make it in to the next release, or are<br />there already commits? What new features are planned for 5.1 branch?</p><p>Wishlist:<br />I do wish support for at least 8-bit memory bitmaps had remained.<br />along with some blit/mask wrappers to transfer to ALLEGRO_BITMAP.<br />I found them particularly useful not just for sprites, but for world maps, etc. <br />For my project, I ended up ripping out the api from a much earlier<br />version or allegro and just slapping in C code to reimplement bitmap<br />creation and drawing primitives.<br />Obviously the performance is much worse than assembly.<br />Am I the only one living in the past. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Cheers.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Pho75_)</author>
		<pubDate>Thu, 18 Nov 2010 16:00:08 +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/605549/891034#target">Pho75_</a> said:</div><div class="quote"><p>Will support for stencils make it in to the next release, or are<br />there already commits?</p></div></div><p>Thats something I <i>really</i> want, so I might help with it. Well see if I have the knowledge and skills <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I do wish support for at least 8-bit memory bitmaps had remained.</p></div></div><p>The only way that&#39;s happening is if someone who wants it, writes the code. I don&#39;t have anything against that feature, I just don&#39;t want or need it <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /> I do believe that the loaders will load 8 bit bitmaps, but up convert on load (not entirely sure).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Thu, 18 Nov 2010 16:48:40 +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/605549/891036#target">Thomas Fjellstrom</a> said:</div><div class="quote"><p>I do believe that the loaders will load 8 bit bitmaps, but up convert on load (not entirely sure).</p></div></div><p>
Yes, they do.</p><p>If I were to add 8 bit bitmaps to Allegro 5, I would probably make the palette a property of each bitmap (you&#39;d be drawing them to a higher-colour depth display anyway) and do on-the-fly conversions when needed (so you don&#39;t get penalised more than once if the palette doesn&#39;t change).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Thu, 18 Nov 2010 18:39:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>8-bit doesn&#39;t necessaily mean palette. I think it would make sense to support something like GL_LUMINANCE in OpenGL ES 2.0:</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Each element is a single luminance value.<br />                        The GL converts it to floating point,<br />                        then assembles it into an RGBA element by replicating the luminance value<br />                        three times for red, green, and blue and attaching 1 for alpha.<br />                        Each component is then clamped to the range [0,1].
</p></div></div><p>

It could save a lot of texture space for e.g. fonts. Saving texture space reminds me, we should add an example how to use texture compression (OpenGL only - unless someone wants to make an addon which wraps around D3D as well).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Thu, 18 Nov 2010 19:12:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Just installed this version. I have a problem with the native filechooser. It freezes the program. </p><p>I&#39;m on Ubuntu 10.04.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Mon, 22 Nov 2010 22:12:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There were no changes to the native dialogs addon from 4.9.22 <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Can you get a backtrace by running under gdb?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Tue, 23 Nov 2010 04:14:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm, I&#39;ve never tried getting a backtrace for a program that freezes, only for crashes. How would I go about doing that?</p><p>Testing ex_native_filechooser.<br />It starts 5 threads, and when I click open it starts another thread then the log window goes grey and it&#39;s all frozen. It starts a thread and freezes no matter where I click actually.<br />Even if I don&#39;t click at all it freezes in less than 30 seconds.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Tue, 23 Nov 2010 11:43:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>When it hangs, press ^C in the gdb window and you will get the usual gdb prompt. You can get a backtrace of all threads with: thread apply all bt
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Tue, 23 Nov 2010 11:52:03 +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/605549/891596#target">Trezker</a> said:</div><div class="quote"><p>Hmm, I&#39;ve never tried getting a backtrace for a program that freezes, only for crashes. How would I go about doing that?</p></div></div><p>Most debuggers can attach to running programs. With gdb on unix you hand it the program&#39;s pid.</p><p>With threaded applications you want to run this in gdb: &quot;thread apply all bt full&quot; confusing, but it tells gdb to output a full backtrace for ALL threads.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Tue, 23 Nov 2010 11:53:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><pre>
#0  0x0012d422 in __kernel_vsyscall ()
#1  0x00ae2015 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0x00197478 in _al_cond_wait (cond=0x834511c, mutex=0x8345100)
    at /home/anders/allegro/allegro-5.0.0rc1/include/allegro5/platform/aintuthr.h:81
#3  0x00193594 in al_wait_for_event (queue=0x83450d8, ret_event=0xbffff070)
    at /home/anders/allegro/allegro-5.0.0rc1/src/events.c:354
#4  0x0804a0f1 in main ()
    at /home/anders/allegro/allegro-5.0.0rc1/examples/ex_native_filechooser.c:228
</pre><p>

Seems to be stuck in al_wait_for_event.</p><p>Oh, perhaps all threads is a good idea.</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>Thread <span class="n">7</span> <span class="k2">(</span>Thread <span class="n">0xb53feb70</span> <span class="k2">(</span>LWP <span class="n">18260</span><span class="k2">)</span><span class="k2">)</span><span class="k2">:</span>
<span class="number">   2</span><span class="p">#0  0x0012d422 in __kernel_vsyscall ()</span>
<span class="number">   3</span>No symbol table info available.
<span class="number">   4</span><span class="p">#1  0x00ae4af9 in __lll_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number">   5</span>No symbol table info available.
<span class="number">   6</span><span class="p">#2  0x00ae013b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number">   7</span>No symbol table info available.
<span class="number">   8</span><span class="p">#3  0x00adff61 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number">   9</span>No symbol table info available.
<span class="number">  10</span><span class="p">#4  0x00650096 in ?? () from /usr/lib/libgdk-x11-2.0.so.0</span>
<span class="number">  11</span>No symbol table info available.
<span class="number">  12</span><span class="p">#5  0x00650020 in gdk_threads_enter () from /usr/lib/libgdk-x11-2.0.so.0</span>
<span class="number">  13</span>No symbol table info available.
<span class="number">  14</span><span class="p">#6  0x00130ff3 in gtk_start_and_lock (fd=0x8383f60)</span>
<span class="number">  15</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>addons<span class="k3">/</span>native_dialog<span class="k3">/</span>gtk_dialog.c:80
<span class="number">  16</span>        argc <span class="k3">=</span> <span class="n">0</span>
<span class="number">  17</span>        argv <span class="k3">=</span> <span class="n">0x0</span>
<span class="number">  18</span>        __func__ <span class="k3">=</span> <span class="s">"gtk_start_and_lock"</span>
<span class="number">  19</span><span class="p">#7  0x00131504 in _al_show_native_file_dialog (display=0x8160810, fd=0x8383f60)</span>
<span class="number">  20</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>addons<span class="k3">/</span>native_dialog<span class="k3">/</span>gtk_dialog.c:194
<span class="number">  21</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number">  22</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0x1314e6</span>
<span class="number">  23</span><span class="p">#8  0x001306f1 in al_show_native_file_dialog (display=0x8160810, </span>
<span class="number">  24</span>    dialog<span class="k3">=</span><span class="n">0x8383f60</span><span class="k2">)</span>
<span class="number">  25</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>addons<span class="k3">/</span>native_dialog<span class="k3">/</span>dialog.c:40
<span class="number">  26</span>        fd <span class="k3">=</span> <span class="n">0x8383f60</span>
<span class="number">  27</span><span class="p">#9  0x08049b05 in async_file_dialog_thread_func (thread=0x8384048, </span>
<span class="number">  28</span>    arg<span class="k3">=</span><span class="n">0x8383ed0</span><span class="k2">)</span>
<span class="number">  29</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>examples<span class="k3">/</span>ex_native_filechooser.c:54
<span class="number">  30</span>        data <span class="k3">=</span> <span class="n">0x8383ed0</span>
<span class="number">  31</span>        event <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, any <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, source <span class="k3">=</span> <span class="n">0x0</span>, 
<span class="number">  32</span>            timestamp <span class="k3">=</span> <span class="n">5</span>.<span class="n">6363764798007543e</span><span class="k3">-</span><span class="n">317</span><span class="k2">}</span>, display <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, 
<span class="number">  33</span>            source <span class="k3">=</span> <span class="n">0x0</span>, timestamp <span class="k3">=</span> <span class="n">5</span>.<span class="n">6363764798007543e</span><span class="k3">-</span><span class="n">317</span>, x <span class="k3">=</span> <span class="n">0</span>, y <span class="k3">=</span> <span class="n">0</span>, 
<span class="number">  34</span>            width <span class="k3">=</span> <span class="n">18260</span>, height <span class="k3">=</span> <span class="n">2469876</span>, orientation <span class="k3">=</span> <span class="k3">-</span><span class="n">1254102160</span><span class="k2">}</span>, 
<span class="number">  35</span>          joystick <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, source <span class="k3">=</span> <span class="n">0x0</span>, 
<span class="number">  36</span>            timestamp <span class="k3">=</span> <span class="n">5</span>.<span class="n">6363764798007543e</span><span class="k3">-</span><span class="n">317</span>, id <span class="k3">=</span> <span class="n">0x0</span>, stick <span class="k3">=</span> <span class="n">0</span>, 
<span class="number">  37</span>            axis <span class="k3">=</span> <span class="n">18260</span>, pos <span class="k3">=</span> <span class="n">3</span>.<span class="n">46103345e</span><span class="k3">-</span><span class="n">39</span>, button <span class="k3">=</span> <span class="k3">-</span><span class="n">1254102160</span><span class="k2">}</span>, 
<span class="number">  38</span>          keyboard <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, source <span class="k3">=</span> <span class="n">0x0</span>, 
<span class="number">  39</span>            timestamp <span class="k3">=</span> <span class="n">5</span>.<span class="n">6363764798007543e</span><span class="k3">-</span><span class="n">317</span>, display <span class="k3">=</span> <span class="n">0x0</span>, keycode <span class="k3">=</span> <span class="n">0</span>, 
<span class="number">  40</span>            unichar <span class="k3">=</span> <span class="n">18260</span>, modifiers <span class="k3">=</span> <span class="n">2469876</span><span class="k2">}</span>, mouse <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, 
<span class="number">  41</span>            source <span class="k3">=</span> <span class="n">0x0</span>, timestamp <span class="k3">=</span> <span class="n">5</span>.<span class="n">6363764798007543e</span><span class="k3">-</span><span class="n">317</span>, display <span class="k3">=</span> <span class="n">0x0</span>, 
<span class="number">  42</span>            x <span class="k3">=</span> <span class="n">0</span>, y <span class="k3">=</span> <span class="n">18260</span>, z <span class="k3">=</span> <span class="n">2469876</span>, w <span class="k3">=</span> <span class="k3">-</span><span class="n">1254102160</span>, dx <span class="k3">=</span> <span class="n">4001536</span>, 
<span class="number">  43</span>            dy <span class="k3">=</span> <span class="k3">-</span><span class="n">1254104680</span>, dz <span class="k3">=</span> <span class="n">1668093</span>, dw <span class="k3">=</span> <span class="n">137904244</span>, button <span class="k3">=</span> <span class="n">0</span>, 
<span class="number">  44</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number">  45</span>            pressure <span class="k3">=</span> <span class="n">0</span><span class="k2">}</span>, timer <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, source <span class="k3">=</span> <span class="n">0x0</span>, 
<span class="number">  46</span>            timestamp <span class="k3">=</span> <span class="n">5</span>.<span class="n">6363764798007543e</span><span class="k3">-</span><span class="n">317</span>, count <span class="k3">=</span> <span class="n">0</span>, 
<span class="number">  47</span>            error <span class="k3">=</span> <span class="n">6</span>.<span class="n">0319852354159264e</span><span class="k3">-</span><span class="n">308</span><span class="k2">}</span>, user <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">11403047</span>, 
<span class="number">  48</span>            source <span class="k3">=</span> <span class="n">0x0</span>, timestamp <span class="k3">=</span> <span class="n">5</span>.<span class="n">6363764798007543e</span><span class="k3">-</span><span class="n">317</span>, 
<span class="number">  49</span>            __internal__descr <span class="k3">=</span> <span class="n">0x0</span>, data1 <span class="k3">=</span> <span class="n">0</span>, data2 <span class="k3">=</span> <span class="n">18260</span>, 
<span class="number">  50</span>            data3 <span class="k3">=</span> <span class="n">2469876</span>, data4 <span class="k3">=</span> <span class="k3">-</span><span class="n">1254102160</span><span class="k2">}</span><span class="k2">}</span>
<span class="number">  51</span><span class="p">#10 0x0019f352 in thread_func_trampoline (inner=0x8384048, _outer=0x8384048)</span>
<span class="number">  52</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>threads.c:80
<span class="number">  53</span>        outer <span class="k3">=</span> <span class="n">0x8384048</span>
<span class="number">  54</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a> <span class="k3">=</span> <span class="n">0x807d4b8</span>
<span class="number">  55</span><span class="p">#11 0x001e6120 in thread_proc_trampoline (data=0x8384048)</span>
<span class="number">  56</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>unix<span class="k3">/</span>uxthread.c:36
<span class="number">  57</span>        thread <span class="k3">=</span> <span class="n">0x8384048</span>
<span class="number">  58</span><span class="p">#12 0x00add96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number">  59</span>No symbol table info available.
<span class="number">  60</span><span class="p">#13 0x00e70a4e in clone () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number">  61</span>No symbol table info available.
<span class="number">  62</span>
<span class="number">  63</span>Thread <span class="n">6</span> <span class="k2">(</span>Thread <span class="n">0xb5bffb70</span> <span class="k2">(</span>LWP <span class="n">18258</span><span class="k2">)</span><span class="k2">)</span><span class="k2">:</span>
<span class="number">  64</span><span class="p">#0  0x0012d422 in __kernel_vsyscall ()</span>
<span class="number">  65</span>No symbol table info available.
<span class="number">  66</span><span class="p">#1  0x00ae5736 in nanosleep () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number">  67</span>No symbol table info available.
<span class="number">  68</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number">  69</span><span class="p">#2  0x001e5f93 in al_rest (seconds=0.032767999999999999)</span>
<span class="number">  70</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>unix<span class="k3">/</span>utime.c:68
<span class="number">  71</span>        timeout <span class="k3">=</span> <span class="k2">{</span>tv_sec <span class="k3">=</span> <span class="n">0</span>, tv_nsec <span class="k3">=</span> <span class="n">32767999</span><span class="k2">}</span>
<span class="number">  72</span>        fsecs <span class="k3">=</span> <span class="n">0</span>
<span class="number">  73</span><span class="p">#3  0x0019ff0c in timer_thread_proc (self=0x25e8c0, unused=0x0)</span>
<span class="number">  74</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>timernu.c:99
<span class="number">  75</span>        old_time <span class="k3">=</span> <span class="n">10</span>.<span class="n">353538</span>
<span class="number">  76</span>        new_time <span class="k3">=</span> <span class="n">10</span>.<span class="n">353538</span>
<span class="number">  77</span>        interval <span class="k3">=</span> <span class="n">0</span>.<span class="n">032767999999999999</span>
<span class="number">  78</span><span class="p">#4  0x001e6120 in thread_proc_trampoline (data=0x25e8c0)</span>
<span class="number">  79</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>unix<span class="k3">/</span>uxthread.c:36
<span class="number">  80</span>        thread <span class="k3">=</span> <span class="n">0x25e8c0</span>
<span class="number">  81</span><span class="p">#5  0x00add96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number">  82</span>No symbol table info available.
<span class="number">  83</span><span class="p">#6  0x00e70a4e in clone () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number">  84</span>No symbol table info available.
<span class="number">  85</span>
<span class="number">  86</span>Thread <span class="n">5</span> <span class="k2">(</span>Thread <span class="n">0xb64dcb70</span> <span class="k2">(</span>LWP <span class="n">18257</span><span class="k2">)</span><span class="k2">)</span><span class="k2">:</span>
<span class="number">  87</span><span class="p">#0  0x0012d422 in __kernel_vsyscall ()</span>
<span class="number">  88</span>No symbol table info available.
<span class="number">  89</span><span class="p">#1  0x00e62b86 in poll () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number">  90</span>No symbol table info available.
<span class="number">  91</span><span class="p">#2  0x009d94eb in g_poll () from /lib/libglib-2.0.so.0</span>
<span class="number">  92</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number">  93</span>No symbol table info available.
<span class="number">  94</span><span class="p">#3  0x009cc0ac in ?? () from /lib/libglib-2.0.so.0</span>
<span class="number">  95</span>No symbol table info available.
<span class="number">  96</span><span class="p">#4  0x009cc817 in g_main_loop_run () from /lib/libglib-2.0.so.0</span>
<span class="number">  97</span>No symbol table info available.
<span class="number">  98</span><span class="p">#5  0x029ed400 in ?? () from /usr/lib/libORBit-2.so.0</span>
<span class="number">  99</span>No symbol table info available.
<span class="number"> 100</span><span class="p">#6  0x009f2def in ?? () from /lib/libglib-2.0.so.0</span>
<span class="number"> 101</span>No symbol table info available.
<span class="number"> 102</span><span class="p">#7  0x00add96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number"> 103</span>No symbol table info available.
<span class="number"> 104</span><span class="p">#8  0x00e70a4e in clone () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number"> 105</span>No symbol table info available.
<span class="number"> 106</span>
<span class="number"> 107</span>Thread <span class="n">4</span> <span class="k2">(</span>Thread <span class="n">0xb6e72b70</span> <span class="k2">(</span>LWP <span class="n">18256</span><span class="k2">)</span><span class="k2">)</span><span class="k2">:</span>
<span class="number"> 108</span><span class="p">#0  0x0012d422 in __kernel_vsyscall ()</span>
<span class="number"> 109</span>No symbol table info available.
<span class="number"> 110</span><span class="p">#1  0x00ae2015 in pthread_cond_wait@@GLIBC_2.3.2 ()</span>
<span class="number"> 111</span>   from <span class="k3">/</span>lib<span class="k3">/</span>tls<span class="k3">/</span>i686<span class="k3">/</span>cmov<span class="k3">/</span>libpthread.so.0
<span class="number"> 112</span>No symbol table info available.
<span class="number"> 113</span><span class="p">#2  0x029cf88d in giop_recv_buffer_get () from /usr/lib/libORBit-2.so.0</span>
<span class="number"> 114</span>No symbol table info available.
<span class="number"> 115</span><span class="p">#3  0x029d467b in ORBit_small_invoke_stub () from /usr/lib/libORBit-2.so.0</span>
<span class="number"> 116</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 117</span>No symbol table info available.
<span class="number"> 118</span><span class="p">#4  0x029d48a6 in ORBit_small_invoke_stub_n () from /usr/lib/libORBit-2.so.0</span>
<span class="number"> 119</span>No symbol table info available.
<span class="number"> 120</span><span class="p">#5  0x029e1227 in ORBit_c_stub_invoke () from /usr/lib/libORBit-2.so.0</span>
<span class="number"> 121</span>No symbol table info available.
<span class="number"> 122</span><span class="p">#6  0x02911ae4 in Accessibility_EventListener_notifyEvent ()</span>
<span class="number"> 123</span>   from <span class="k3">/</span>usr<span class="k3">/</span>lib<span class="k3">/</span>libspi.so.0
<span class="number"> 124</span>No symbol table info available.
<span class="number"> 125</span><span class="p">#7  0x028ec3cc in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so</span>
<span class="number"> 126</span>No symbol table info available.
<span class="number"> 127</span><span class="p">#8  0x028ecb57 in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so</span>
<span class="number"> 128</span>No symbol table info available.
<span class="number"> 129</span><span class="p">#9  0x009593b0 in ?? () from /usr/lib/libgobject-2.0.so.0</span>
<span class="number"> 130</span>No symbol table info available.
<span class="number"> 131</span><span class="p">#10 0x0095adb4 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0</span>
<span class="number"> 132</span>No symbol table info available.
<span class="number"> 133</span><span class="p">#11 0x0095b256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0</span>
<span class="number"> 134</span>No symbol table info available.
<span class="number"> 135</span><span class="p">#12 0x028d5e97 in ?? () from /usr/lib/gtk-2.0/modules/libgail.so</span>
<span class="number"> 136</span>No symbol table info available.
<span class="number"> 137</span><span class="p">#13 0x003a2424 in ?? () from /usr/lib/libgtk-x11-2.0.so.0</span>
<span class="number"> 138</span>No symbol table info available.
<span class="number"> 139</span><span class="p">#14 0x00945252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0</span>
<span class="number"> 140</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 141</span>No symbol table info available.
<span class="number"> 142</span><span class="p">#15 0x0095999d in ?? () from /usr/lib/libgobject-2.0.so.0</span>
<span class="number"> 143</span>No symbol table info available.
<span class="number"> 144</span><span class="p">#16 0x0095ac33 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0</span>
<span class="number"> 145</span>No symbol table info available.
<span class="number"> 146</span><span class="p">#17 0x0095b256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0</span>
<span class="number"> 147</span>No symbol table info available.
<span class="number"> 148</span><span class="p">#18 0x004cf636 in ?? () from /usr/lib/libgtk-x11-2.0.so.0</span>
<span class="number"> 149</span>No symbol table info available.
<span class="number"> 150</span><span class="p">#19 0x0039bf3c in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0</span>
<span class="number"> 151</span>No symbol table info available.
<span class="number"> 152</span><span class="p">#20 0x0069039a in ?? () from /usr/lib/libgdk-x11-2.0.so.0</span>
<span class="number"> 153</span>No symbol table info available.
<span class="number"> 154</span><span class="p">#21 0x009c85e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0</span>
<span class="number"> 155</span>No symbol table info available.
<span class="number"> 156</span><span class="p">#22 0x009cc2d8 in ?? () from /lib/libglib-2.0.so.0</span>
<span class="number"> 157</span>No symbol table info available.
<span class="number"> 158</span><span class="p">#23 0x009cc817 in g_main_loop_run () from /lib/libglib-2.0.so.0</span>
<span class="number"> 159</span>No symbol table info available.
<span class="number"> 160</span><span class="p">#24 0x0039c3c9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0</span>
<span class="number"> 161</span>No symbol table info available.
<span class="number"> 162</span><span class="p">#25 0x00130d84 in gtk_thread_func (data=0x0)</span>
<span class="number"> 163</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>addons<span class="k3">/</span>native_dialog<span class="k3">/</span>gtk_dialog.c:4---Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 164</span><span class="n">8</span>
<span class="number"> 165</span>        __func__ <span class="k3">=</span> <span class="s">"gtk_thread_func"</span>
<span class="number"> 166</span><span class="p">#26 0x009f2def in ?? () from /lib/libglib-2.0.so.0</span>
<span class="number"> 167</span>No symbol table info available.
<span class="number"> 168</span><span class="p">#27 0x00add96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number"> 169</span>No symbol table info available.
<span class="number"> 170</span><span class="p">#28 0x00e70a4e in clone () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number"> 171</span>No symbol table info available.
<span class="number"> 172</span>
<span class="number"> 173</span>Thread <span class="n">3</span> <span class="k2">(</span>Thread <span class="n">0xb77d0b70</span> <span class="k2">(</span>LWP <span class="n">18255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">:</span>
<span class="number"> 174</span><span class="p">#0  0x0012d422 in __kernel_vsyscall ()</span>
<span class="number"> 175</span>No symbol table info available.
<span class="number"> 176</span><span class="p">#1  0x00ae2015 in pthread_cond_wait@@GLIBC_2.3.2 ()</span>
<span class="number"> 177</span>   from <span class="k3">/</span>lib<span class="k3">/</span>tls<span class="k3">/</span>i686<span class="k3">/</span>cmov<span class="k3">/</span>libpthread.so.0
<span class="number"> 178</span>No symbol table info available.
<span class="number"> 179</span><span class="p">#2  0x00131083 in gtk_unlock_and_wait (nd=0x807db48)</span>
<span class="number"> 180</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>addons<span class="k3">/</span>native_dialog<span class="k3">/</span>gtk_dialog.c:90
<span class="number"> 181</span>No locals.
<span class="number"> 182</span><span class="p">#3  0x00131f1c in _al_open_native_text_log (textlog=0x807db48)</span>
<span class="number"> 183</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>addons<span class="k3">/</span>native_dialog<span class="k3">/</span>gtk_dialog.c:375
<span class="number"> 184</span>        top <span class="k3">=</span> <span class="n">0x80f2040</span>
<span class="number"> 185</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 186</span>        scroll <span class="k3">=</span> <span class="n">0x80ecc78</span>
<span class="number"> 187</span>        view <span class="k3">=</span> <span class="n">0x80c4818</span>
<span class="number"> 188</span><span class="p">#4  0x00130977 in textlog_thread_proc (thread=0x807dc18, arg=0x807db48)</span>
<span class="number"> 189</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>addons<span class="k3">/</span>native_dialog<span class="k3">/</span>textlog.c:22
<span class="number"> 190</span>        textlog <span class="k3">=</span> <span class="n">0x807db48</span>
<span class="number"> 191</span><span class="p">#5  0x0019f352 in thread_func_trampoline (inner=0x807dc18, _outer=0x807dc18)</span>
<span class="number"> 192</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>threads.c:80
<span class="number"> 193</span>        outer <span class="k3">=</span> <span class="n">0x807dc18</span>
<span class="number"> 194</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a> <span class="k3">=</span> <span class="n">0x807d4b8</span>
<span class="number"> 195</span><span class="p">#6  0x001e6120 in thread_proc_trampoline (data=0x807dc18)</span>
<span class="number"> 196</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>unix<span class="k3">/</span>uxthread.c:36
<span class="number"> 197</span>        thread <span class="k3">=</span> <span class="n">0x807dc18</span>
<span class="number"> 198</span><span class="p">#7  0x00add96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number"> 199</span>No symbol table info available.
<span class="number"> 200</span><span class="p">#8  0x00e70a4e in clone () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number"> 201</span>No symbol table info available.
<span class="number"> 202</span>
<span class="number"> 203</span>Thread <span class="n">2</span> <span class="k2">(</span>Thread <span class="n">0xb7fd1b70</span> <span class="k2">(</span>LWP <span class="n">18254</span><span class="k2">)</span><span class="k2">)</span><span class="k2">:</span>
<span class="number"> 204</span><span class="p">#0  0x0012d422 in __kernel_vsyscall ()</span>
<span class="number"> 205</span>No symbol table info available.
<span class="number"> 206</span><span class="p">#1  0x00e69971 in select () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number"> 207</span>No symbol table info available.
<span class="number"> 208</span><span class="p">#2  0x001f129d in xglx_background_thread (self=0x807d4e8, arg=0x807d4b8)</span>
<span class="number"> 209</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 210</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>x<span class="k3">/</span>xsystem.c:164
<span class="number"> 211</span>        x11_fd <span class="k3">=</span> <span class="n">5</span>
<span class="number"> 212</span>        fdset <span class="k3">=</span> <span class="k2">{</span>__fds_bits <span class="k3">=</span> <span class="k2">{</span><span class="n">32</span>, <span class="n">0</span> <span class="k3">&lt;</span>repeats <span class="n">31</span> times&gt;<span class="k2">}</span><span class="k2">}</span>
<span class="number"> 213</span>        small_time <span class="k3">=</span> <span class="k2">{</span>tv_sec <span class="k3">=</span> <span class="n">0</span>, tv_usec <span class="k3">=</span> <span class="n">30436</span><span class="k2">}</span>
<span class="number"> 214</span>        s <span class="k3">=</span> <span class="n">0x807d4b8</span>
<span class="number"> 215</span>        event <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, xany <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 216</span>            display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span><span class="k2">}</span>, xkey <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 217</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 218</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, root <span class="k3">=</span> <span class="n">0</span>, subwindow <span class="k3">=</span> <span class="n">3</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">1634831459</span>, 
<span class="number"> 219</span>            x <span class="k3">=</span> <span class="n">117</span>, y <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, x_root <span class="k3">=</span> <span class="n">753</span>, y_root <span class="k3">=</span> <span class="n">513</span>, state <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 220</span>            keycode <span class="k3">=</span> <span class="n">3</span>, same_screen <span class="k3">=</span> <span class="n">1</span><span class="k2">}</span>, xbutton <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 221</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, root <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 222</span>            subwindow <span class="k3">=</span> <span class="n">3</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">1634831459</span>, x <span class="k3">=</span> <span class="n">117</span>, y <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, x_root <span class="k3">=</span> <span class="n">753</span>, 
<span class="number"> 223</span>            y_root <span class="k3">=</span> <span class="n">513</span>, state <span class="k3">=</span> <span class="n">0</span>, button <span class="k3">=</span> <span class="n">3</span>, same_screen <span class="k3">=</span> <span class="n">1</span><span class="k2">}</span>, xmotion <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 224</span>            type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 225</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, root <span class="k3">=</span> <span class="n">0</span>, subwindow <span class="k3">=</span> <span class="n">3</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">1634831459</span>, 
<span class="number"> 226</span>            x <span class="k3">=</span> <span class="n">117</span>, y <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, x_root <span class="k3">=</span> <span class="n">753</span>, y_root <span class="k3">=</span> <span class="n">513</span>, state <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 227</span>            is_hint <span class="k3">=</span> <span class="n">3</span> <span class="s">'\003'</span>, same_screen <span class="k3">=</span> <span class="n">1</span><span class="k2">}</span>, xcrossing <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 228</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 229</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, root <span class="k3">=</span> <span class="n">0</span>, subwindow <span class="k3">=</span> <span class="n">3</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">1634831459</span>, 
<span class="number"> 230</span>            x <span class="k3">=</span> <span class="n">117</span>, y <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, x_root <span class="k3">=</span> <span class="n">753</span>, y_root <span class="k3">=</span> <span class="n">513</span>, mode <span class="k3">=</span> <span class="n">0</span>, detail <span class="k3">=</span> <span class="n">3</span>, 
<span class="number"> 231</span>            same_screen <span class="k3">=</span> <span class="n">1</span>, focus <span class="k3">=</span> <span class="n">1</span>, state <span class="k3">=</span> <span class="n">16</span><span class="k2">}</span>, xfocus <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 232</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 233</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 234</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, mode <span class="k3">=</span> <span class="n">0</span>, detail <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xexpose <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 235</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 236</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, x <span class="k3">=</span> <span class="n">0</span>, y <span class="k3">=</span> <span class="n">3</span>, width <span class="k3">=</span> <span class="n">1634831459</span>, 
<span class="number"> 237</span>            height <span class="k3">=</span> <span class="n">117</span>, count <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">}</span>, xgraphicsexpose <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 238</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 239</span>            drawable <span class="k3">=</span> <span class="n">171966466</span>, x <span class="k3">=</span> <span class="n">0</span>, y <span class="k3">=</span> <span class="n">3</span>, width <span class="k3">=</span> <span class="n">1634831459</span>, 
<span class="number"> 240</span>            height <span class="k3">=</span> <span class="n">117</span>, count <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, major_code <span class="k3">=</span> <span class="n">753</span>, minor_code <span class="k3">=</span> <span class="n">513</span><span class="k2">}</span>, 
<span class="number"> 241</span>          xnoexpose <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 242</span>            display <span class="k3">=</span> <span class="n">0x8065eb0</span>, drawable <span class="k3">=</span> <span class="n">171966466</span>, major_code <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 243</span>            minor_code <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xvisibility <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 244</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 245</span>            state <span class="k3">=</span> <span class="n">0</span><span class="k2">}</span>, xcreatewindow <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 246</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, parent <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 247</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, x <span class="k3">=</span> <span class="n">3</span>, y <span class="k3">=</span> <span class="n">1634831459</span>, width <span class="k3">=</span> <span class="n">117</span>, height <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, 
<span class="number"> 248</span>            border_width <span class="k3">=</span> <span class="n">753</span>, override_redirect <span class="k3">=</span> <span class="n">513</span><span class="k2">}</span>, xdestroywindow <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 249</span>            type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 250</span>            event <span class="k3">=</span> <span class="n">171966466</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span><span class="k2">}</span>, xunmap <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 251</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, event <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 252</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, from_configure <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xmap <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 253</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, event <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 254</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, override_redirect <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xmaprequest <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 255</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 256</span>            parent <span class="k3">=</span> <span class="n">171966466</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span><span class="k2">}</span>, xreparent <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 257</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 258</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 259</span>            event <span class="k3">=</span> <span class="n">171966466</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, parent <span class="k3">=</span> <span class="n">3</span>, x <span class="k3">=</span> <span class="n">1634831459</span>, 
<span class="number"> 260</span>            y <span class="k3">=</span> <span class="n">117</span>, override_redirect <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span><span class="k2">}</span>, xconfigure <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 261</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 262</span>            event <span class="k3">=</span> <span class="n">171966466</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, x <span class="k3">=</span> <span class="n">3</span>, y <span class="k3">=</span> <span class="n">1634831459</span>, width <span class="k3">=</span> <span class="n">117</span>, 
<span class="number"> 263</span>            height <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, border_width <span class="k3">=</span> <span class="n">753</span>, above <span class="k3">=</span> <span class="n">513</span>, 
<span class="number"> 264</span>            override_redirect <span class="k3">=</span> <span class="n">0</span><span class="k2">}</span>, xgravity <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 265</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, event <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 266</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, x <span class="k3">=</span> <span class="n">3</span>, y <span class="k3">=</span> <span class="n">1634831459</span><span class="k2">}</span>, xresizerequest <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 267</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 268</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, width <span class="k3">=</span> <span class="n">0</span>, height <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xconfigurerequest <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 269</span>            type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 270</span>            parent <span class="k3">=</span> <span class="n">171966466</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, x <span class="k3">=</span> <span class="n">3</span>, y <span class="k3">=</span> <span class="n">1634831459</span>, 
<span class="number"> 271</span>            width <span class="k3">=</span> <span class="n">117</span>, height <span class="k3">=</span> <span class="k3">-</span><span class="n">2</span>, border_width <span class="k3">=</span> <span class="n">753</span>, above <span class="k3">=</span> <span class="n">513</span>, 
<span class="number"> 272</span>            detail <span class="k3">=</span> <span class="n">0</span>, value_mask <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xcirculate <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 273</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, event <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 274</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, place <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xcirculaterequest <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 275</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 276</span>            parent <span class="k3">=</span> <span class="n">171966466</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">0</span>, place <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, xproperty <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 277</span>            type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 278</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, atom <span class="k3">=</span> <span class="n">0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">3</span>, state <span class="k3">=</span> <span class="n">1634831459</span><span class="k2">}</span>, 
<span class="number"> 279</span>          xselectionclear <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 280</span>            display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, selection <span class="k3">=</span> <span class="n">0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">3</span><span class="k2">}</span>, 
<span class="number"> 281</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 282</span>          xselectionrequest <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 283</span>            display <span class="k3">=</span> <span class="n">0x8065eb0</span>, owner <span class="k3">=</span> <span class="n">171966466</span>, requestor <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 284</span>            selection <span class="k3">=</span> <span class="n">3</span>, target <span class="k3">=</span> <span class="n">1634831459</span>, property <span class="k3">=</span> <span class="n">117</span>, 
<span class="number"> 285</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">4294967294</span><span class="k2">}</span>, xselection <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 286</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, requestor <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 287</span>            selection <span class="k3">=</span> <span class="n">0</span>, target <span class="k3">=</span> <span class="n">3</span>, property <span class="k3">=</span> <span class="n">1634831459</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <span class="n">117</span><span class="k2">}</span>, 
<span class="number"> 288</span>          xcolormap <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 289</span>            display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, colormap <span class="k3">=</span> <span class="n">0</span>, <span class="k1">new</span> <span class="k3">=</span> <span class="n">3</span>, 
<span class="number"> 290</span>            state <span class="k3">=</span> <span class="n">1634831459</span><span class="k2">}</span>, xclient <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 291</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 292</span>            message_type <span class="k3">=</span> <span class="n">0</span>, format <span class="k3">=</span> <span class="n">3</span>, data <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 293</span>              b <span class="k3">=</span> <span class="s">"c\214qau\000\000\000\376\377\377\377\361\002\000\000\001\002\000"</span>, s <span class="k3">=</span> <span class="k2">{</span><span class="k3">-</span><span class="n">29597</span>, <span class="n">24945</span>, <span class="n">117</span>, <span class="n">0</span>, <span class="k3">-</span><span class="n">2</span>, <span class="k3">-</span><span class="n">1</span>, <span class="n">753</span>, <span class="n">0</span>, <span class="n">513</span>, <span class="n">0</span><span class="k2">}</span>, l <span class="k3">=</span> <span class="k2">{</span><span class="n">1634831459</span>, 
<span class="number"> 294</span>                <span class="n">117</span>, <span class="k3">-</span><span class="n">2</span>, <span class="n">753</span>, <span class="n">513</span><span class="k2">}</span><span class="k2">}</span><span class="k2">}</span>, xmapping <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 295</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 296</span>            request <span class="k3">=</span> <span class="n">0</span>, first_keycode <span class="k3">=</span> <span class="n">3</span>, count <span class="k3">=</span> <span class="n">1634831459</span><span class="k2">}</span>, xerror <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 297</span>            type <span class="k3">=</span> <span class="n">10</span>, display <span class="k3">=</span> <span class="n">0x23</span>, resourceid <span class="k3">=</span> <span class="n">0</span>, serial <span class="k3">=</span> <span class="n">134635184</span>, 
<span class="number"> 298</span>            error_code <span class="k3">=</span> <span class="n">2</span> <span class="s">'\002'</span>, request_code <span class="k3">=</span> <span class="n">0</span> <span class="s">'\000'</span>, 
<span class="number"> 299</span>            minor_code <span class="k3">=</span> <span class="n">64</span> <span class="s">'@'</span><span class="k2">}</span>, xkeymap <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, 
<span class="number"> 300</span>            send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">171966466</span>, 
<span class="number"> 301</span>            key_vector <span class="k3">=</span> <span class="s">"\000\000\000\000\003\000\000\000c\214qau\000\000\000\376\377\377\377\361\002\000\000\001\002\000\000\000\000\000"</span><span class="k2">}</span>, xgeneric <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 302</span>            type <span class="k3">=</span> <span class="n">10</span>, serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 303</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 304</span>            extension <span class="k3">=</span> <span class="n">171966466</span>, evtype <span class="k3">=</span> <span class="n">0</span><span class="k2">}</span>, xcookie <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">10</span>, 
<span class="number"> 305</span>            serial <span class="k3">=</span> <span class="n">35</span>, send_event <span class="k3">=</span> <span class="n">0</span>, display <span class="k3">=</span> <span class="n">0x8065eb0</span>, 
<span class="number"> 306</span>            extension <span class="k3">=</span> <span class="n">171966466</span>, evtype <span class="k3">=</span> <span class="n">0</span>, cookie <span class="k3">=</span> <span class="n">3</span>, data <span class="k3">=</span> <span class="n">0x61718c63</span><span class="k2">}</span>, 
<span class="number"> 307</span>          pad <span class="k3">=</span> <span class="k2">{</span><span class="n">10</span>, <span class="n">35</span>, <span class="n">0</span>, <span class="n">134635184</span>, <span class="n">171966466</span>, <span class="n">0</span>, <span class="n">3</span>, <span class="n">1634831459</span>, <span class="n">117</span>, <span class="k3">-</span><span class="n">2</span>, 
<span class="number"> 308</span>            <span class="n">753</span>, <span class="n">513</span>, <span class="n">0</span>, <span class="n">3</span>, <span class="n">1</span>, <span class="n">1</span>, <span class="n">16</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">}</span><span class="k2">}</span>
<span class="number"> 309</span>        last_reset_screensaver_time <span class="k3">=</span> <span class="n">0</span>
<span class="number"> 310</span><span class="p">#3  0x001e6120 in thread_proc_trampoline (data=0x807d4e8)</span>
<span class="number"> 311</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>unix<span class="k3">/</span>uxthread.c:36
<span class="number"> 312</span>        thread <span class="k3">=</span> <span class="n">0x807d4e8</span>
<span class="number"> 313</span><span class="p">#4  0x00add96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0</span>
<span class="number"> 314</span>No symbol table info available.
<span class="number"> 315</span><span class="p">#5  0x00e70a4e in clone () from /lib/tls/i686/cmov/libc.so.6</span>
<span class="number"> 316</span>No symbol table info available.
<span class="number"> 317</span>
<span class="number"> 318</span>Thread <span class="n">1</span> <span class="k2">(</span>Thread <span class="n">0xb7fd2a90</span> <span class="k2">(</span>LWP <span class="n">18253</span><span class="k2">)</span><span class="k2">)</span><span class="k2">:</span>
<span class="number"> 319</span><span class="p">#0  0x0012d422 in __kernel_vsyscall ()</span>
<span class="number"> 320</span>No symbol table info available.
<span class="number"> 321</span><span class="p">#1  0x00ae2015 in pthread_cond_wait@@GLIBC_2.3.2 ()</span>
<span class="number"> 322</span>   from <span class="k3">/</span>lib<span class="k3">/</span>tls<span class="k3">/</span>i686<span class="k3">/</span>cmov<span class="k3">/</span>libpthread.so.0
<span class="number"> 323</span>No symbol table info available.
<span class="number"> 324</span><span class="p">#2  0x00197478 in _al_cond_wait (cond=0x8319f44, mutex=0x8319f28)</span>
<span class="number"> 325</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>include<span class="k3">/</span>allegro5<span class="k3">/</span>platform<span class="k3">/</span>aintuthr.h:81
<span class="number"> 326</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 327</span>No locals.
<span class="number"> 328</span><span class="p">#3  0x00193594 in al_wait_for_event (queue=0x8319f00, ret_event=0xbffff070)</span>
<span class="number"> 329</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>src<span class="k3">/</span>events.c:354
<span class="number"> 330</span>        next_event <span class="k3">=</span> <span class="n">0x0</span>
<span class="number"> 331</span>        __PRETTY_FUNCTION__ <span class="k3">=</span> <span class="s">"al_wait_for_event"</span>
<span class="number"> 332</span><span class="p">#4  0x0804a0f1 in main ()</span>
<span class="number"> 333</span>    at <span class="k3">/</span>home<span class="k3">/</span>anders<span class="k3">/</span>allegro<span class="k3">/</span>allegro-5.0.0rc1<span class="k3">/</span>examples<span class="k3">/</span>ex_native_filechooser.c:228
<span class="number"> 334</span>        h <span class="k3">=</span> <span class="n">480</span>
<span class="number"> 335</span>        event <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, any <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, source <span class="k3">=</span> <span class="n">0x831a248</span>, 
<span class="number"> 336</span>            timestamp <span class="k3">=</span> <span class="n">10</span>.<span class="n">353541999999999</span><span class="k2">}</span>, display <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, 
<span class="number"> 337</span>            source <span class="k3">=</span> <span class="n">0x831a248</span>, timestamp <span class="k3">=</span> <span class="n">10</span>.<span class="n">353541999999999</span>, x <span class="k3">=</span> <span class="n">282</span>, 
<span class="number"> 338</span>            y <span class="k3">=</span> <span class="n">0</span>, width <span class="k3">=</span> <span class="n">1372777472</span>, height <span class="k3">=</span> <span class="n">1058235918</span>, 
<span class="number"> 339</span>            orientation <span class="k3">=</span> <span class="n">1434544</span><span class="k2">}</span>, joystick <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, source <span class="k3">=</span> <span class="n">0x831a248</span>, 
<span class="number"> 340</span>            timestamp <span class="k3">=</span> <span class="n">10</span>.<span class="n">353541999999999</span>, id <span class="k3">=</span> <span class="n">0x11a</span>, stick <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 341</span>            axis <span class="k3">=</span> <span class="n">1372777472</span>, pos <span class="k3">=</span> <span class="n">0</span>.<span class="n">575775981</span>, button <span class="k3">=</span> <span class="n">1434544</span><span class="k2">}</span>, 
<span class="number"> 342</span>          keyboard <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, source <span class="k3">=</span> <span class="n">0x831a248</span>, 
<span class="number"> 343</span>            timestamp <span class="k3">=</span> <span class="n">10</span>.<span class="n">353541999999999</span>, display <span class="k3">=</span> <span class="n">0x11a</span>, keycode <span class="k3">=</span> <span class="n">0</span>, 
<span class="number"> 344</span>            unichar <span class="k3">=</span> <span class="n">1372777472</span>, modifiers <span class="k3">=</span> <span class="n">1058235918</span><span class="k2">}</span>, mouse <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, 
<span class="number"> 345</span>            source <span class="k3">=</span> <span class="n">0x831a248</span>, timestamp <span class="k3">=</span> <span class="n">10</span>.<span class="n">353541999999999</span>, 
<span class="number"> 346</span>            display <span class="k3">=</span> <span class="n">0x11a</span>, x <span class="k3">=</span> <span class="n">0</span>, y <span class="k3">=</span> <span class="n">1372777472</span>, z <span class="k3">=</span> <span class="n">1058235918</span>, 
<span class="number"> 347</span>            w <span class="k3">=</span> <span class="n">1434544</span>, dx <span class="k3">=</span> <span class="n">1119288</span>, dy <span class="k3">=</span> <span class="n">1984974</span>, dz <span class="k3">=</span> <span class="n">11376804</span>, 
<span class="number"> 348</span>            dw <span class="k3">=</span> <span class="n">2469876</span>, button <span class="k3">=</span> <span class="n">3049257840</span>, pressure <span class="k3">=</span> <span class="n">5</span>.<span class="n">60734625e</span><span class="k3">-</span><span class="n">39</span><span class="k2">}</span>, 
<span class="number"> 349</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>Type <span class="k3">&lt;</span>return&gt; to <span class="k1">continue</span>, <span class="k1">or</span> q <span class="k3">&lt;</span>return&gt; to quit---
<span class="number"> 350</span>          timer <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, source <span class="k3">=</span> <span class="n">0x831a248</span>, 
<span class="number"> 351</span>            timestamp <span class="k3">=</span> <span class="n">10</span>.<span class="n">353541999999999</span>, count <span class="k3">=</span> <span class="n">282</span>, 
<span class="number"> 352</span>            error <span class="k3">=</span> <span class="n">7</span>.<span class="n">4000000000504218e</span><span class="k3">-</span><span class="n">05</span><span class="k2">}</span>, user <span class="k3">=</span> <span class="k2">{</span>type <span class="k3">=</span> <span class="n">30</span>, 
<span class="number"> 353</span>            source <span class="k3">=</span> <span class="n">0x831a248</span>, timestamp <span class="k3">=</span> <span class="n">10</span>.<span class="n">353541999999999</span>, 
<span class="number"> 354</span>            __internal__descr <span class="k3">=</span> <span class="n">0x11a</span>, data1 <span class="k3">=</span> <span class="n">0</span>, data2 <span class="k3">=</span> <span class="n">1372777472</span>, 
<span class="number"> 355</span>            data3 <span class="k3">=</span> <span class="n">1058235918</span>, data4 <span class="k3">=</span> <span class="n">1434544</span><span class="k2">}</span><span class="k2">}</span>
<span class="number"> 356</span>        display <span class="k3">=</span> <span class="n">0x8160810</span>
<span class="number"> 357</span>        timer <span class="k3">=</span> <span class="n">0x831a248</span>
<span class="number"> 358</span>        queue <span class="k3">=</span> <span class="n">0x8319f00</span>
<span class="number"> 359</span>        <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a> <span class="k3">=</span> <span class="n">0x8319fb0</span>
<span class="number"> 360</span>        background <span class="k3">=</span> <span class="k2">{</span>r <span class="k3">=</span> <span class="n">1</span>, g <span class="k3">=</span> <span class="n">1</span>, b <span class="k3">=</span> <span class="n">1</span>, a <span class="k3">=</span> <span class="n">1</span><span class="k2">}</span>
<span class="number"> 361</span>        active <span class="k3">=</span> <span class="k2">{</span>r <span class="k3">=</span> <span class="n">0</span>, g <span class="k3">=</span> <span class="n">0</span>, b <span class="k3">=</span> <span class="n">0</span>, a <span class="k3">=</span> <span class="n">1</span><span class="k2">}</span>
<span class="number"> 362</span>        inactive <span class="k3">=</span> <span class="k2">{</span>r <span class="k3">=</span> <span class="n">0</span>.<span class="n">501960814</span>, g <span class="k3">=</span> <span class="n">0</span>.<span class="n">501960814</span>, b <span class="k3">=</span> <span class="n">0</span>.<span class="n">501960814</span>, a <span class="k3">=</span> <span class="n">1</span><span class="k2">}</span>
<span class="number"> 363</span>        info <span class="k3">=</span> <span class="k2">{</span>r <span class="k3">=</span> <span class="n">1</span>, g <span class="k3">=</span> <span class="n">0</span>, b <span class="k3">=</span> <span class="n">0</span>, a <span class="k3">=</span> <span class="n">1</span><span class="k2">}</span>
<span class="number"> 364</span>        old_dialog <span class="k3">=</span> <span class="n">0x0</span>
<span class="number"> 365</span>        cur_dialog <span class="k3">=</span> <span class="n">0x8383ed0</span>
<span class="number"> 366</span>        message_box <span class="k3">=</span> <span class="n">0x0</span>
<span class="number"> 367</span>        redraw <span class="k3">=</span> <span class="k1">false</span>
<span class="number"> 368</span>        close_log <span class="k3">=</span> <span class="k1">false</span>
<span class="number"> 369</span>        button <span class="k3">=</span> <span class="n">134517828</span>
<span class="number"> 370</span>        message_log <span class="k3">=</span> <span class="k1">true</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Tue, 23 Nov 2010 11:58:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Can you also post the contents of allegro.log?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Tue, 23 Nov 2010 12:09:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Attached</p><p>EDIT: So A.cc doesn&#39;t finish uploading after pressing submit post.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Tue, 23 Nov 2010 12:14:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think it will be a bit easier to debug with more logging. Please post the allegro.log again after applying this patch.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Wed, 24 Nov 2010 03:08:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Here you go.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Wed, 24 Nov 2010 10:27:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks. Does this help?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Wed, 24 Nov 2010 12:12:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No it did not.<br />Attached new log and backtrace.<br />New behaviour though, when running in gdb I only get the log window and it freezes there.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Wed, 24 Nov 2010 17:55:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m not sure what the problem is, but it could be a GTK bug. The implementation was bugging me anyway so I changed it a simpler, message-passing type structure, instead of trying to find the bug.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Thu, 25 Nov 2010 11:54:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>And it works!<br />I like the humor when I click anywhere.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Thu, 25 Nov 2010 13:30:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Great. I&#39;ve committed a more complete version of the patch.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Fri, 26 Nov 2010 07:41:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The native filechooser in A5 returns absolute paths, but I want relative paths.</p><p>What&#39;s the simplest method for removing current directory from the path?</p><p>I noticed that al_get_current_directory returns a string that must be freed. Why? I would prefer to have freeing that off my hands when I need the cwd.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Fri, 26 Nov 2010 16:47:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>On a slightly related note, I don&#39;t know if this is a big problem (probably not), but al_get_current_directory returns a path without a trailing / (or \). My colleague wrote some code that turned out to be messing up because he assumed there was going to be a / at the end. So I had to create a temporary string and add the / then add the rest of the path.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Fri, 26 Nov 2010 16:51:54 +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/605549/892203#target">Trezker</a> said:</div><div class="quote"><p>The native filechooser in A5 returns absolute paths, but I want relative paths.</p></div></div><p>
Just out of curiosity: why?<br />I can&#39;t think of a use case where absolute paths would be bad. Arguably you want to base things off the current directory with the idea that you can still find the file if you move the whole directory tree, but that only works for files under the tree...</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>What&#39;s the simplest method for removing current directory from the path?</p></div></div><p>
Probably using <a href="http://alleg.sourceforge.net/a5docs/refman/path.html#al_remove_path_component">al_remove_path_component</a> (by the way, it&#39;d be neat if Acc&#39;s markup started recognising A5 functions).</p><p>EDIT: could someone clarify the distinction between al_join_path() and al_rebase_path()? From the description it seems that they do more or less the same thing, except one modifies the first argument and one modifies the second argument...? The example at al_rebase_path() does what I&#39;d expect al_join_path() to do (which doesn&#39;t have an example an dprobably needs it) while I would expect al_rebase_path() to more-or-less allow you to do what the OP wants here.<br />I&#39;m confused now...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Fri, 26 Nov 2010 20:19:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I want to save the paths in a level file so they can be loaded no matter where the game is installed.</p><p>If a file is not under the tree, I&#39;m considering importing it by copying the selected file to a folder where the game would want those files to be.</p><p>Perhaps I should just get the filename part from the path, prepend expected folder and check file existence. If it&#39;s not where it&#39;s supposed to be then I copy the file selected in filechooser.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Fri, 26 Nov 2010 20:37:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, I think we should add an `al_path_make_relative(ALLEGRO_PATH *working, ALLEGRO_PATH *path)` or something along those lines. This would take path, and remove &quot;working&quot;&#39;s path components from &quot;path&quot;.</p><p>Its not that hard to do yourself though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 27 Nov 2010 00:45:42 +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/605549/892203#target">Trezker</a> said:</div><div class="quote"><p>
I noticed that al_get_current_directory returns a string that must be freed. Why? I would prefer to have freeing that off my hands when I need the cwd.
</p></div></div><p>

That&#39;s not how things work in C. Look at this:</p><div class="source-code snippet"><div class="inner"><pre>al_change_directory<span class="k2">(</span><span class="s">"blah1"</span><span class="k2">)</span><span class="k2">;</span>
str1 <span class="k3">=</span> al_get_current_directory<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
al_change_directory<span class="k2">(</span><span class="s">"blah2"</span><span class="k2">)</span><span class="k2">;</span>
str2 <span class="k3">=</span> al_get_current_directory<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%s %s"</span>, str1, str2<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

If you do this in a loop a few 1000 times it would mean a lot of strings which have to be kept... only way around that is to free them. What we could do is have you pass in a buffer and length where the string gets written to though, but that would be awkward as you now have to deal with arbitrary buffer lengths. More annoying than adding a free call I think.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/605549/892281#target">Thomas Fjellstrom</a> said:</div><div class="quote"><p>
Yeah, I think we should add an `al_path_make_relative(ALLEGRO_PATH *working, ALLEGRO_PATH *path)` or something along those lines.
</p></div></div><p>

The name would be confusing. For example if I&#39;m in &quot;/home/blah1&quot; then want the relative path to &quot;/home/blah2&quot;, I would expect to get &quot;../blah2&quot;.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Sat, 27 Nov 2010 01:17:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Other A5 functions that return strings don&#39;t require the user to free.</p><p><a href="http://alleg.sourceforge.net/a5docs/refman/path.html#al_path_cstr">http://alleg.sourceforge.net/a5docs/refman/path.html#al_path_cstr</a><br />&quot;The returned pointer is valid only until the path is modified in any way, or until the path is destroyed.&quot;</p><p><a href="http://alleg.sourceforge.net/a5docs/refman/utf8.html#al_cstr">http://alleg.sourceforge.net/a5docs/refman/utf8.html#al_cstr</a><br />&quot;This pointer will only be valid while the underlying string is not modified and not destroyed.&quot;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Sat, 27 Nov 2010 02:37:44 +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/605549/892294#target">Trezker</a> said:</div><div class="quote"><p>&quot;The returned pointer is valid only until the path is modified in any way, or until the path is destroyed.&quot;</p></div></div><p>Thats a bit of a special case, the ALLEGRO_PATH structure stores a cache of the c-string so it doesn&#39;t have to keep re-making the full string each time al_path_cstr is called, and thats what it returns.</p><p>I assume al_cstr is the same. Most times with a current dir string, you wan&#39;t to keep it around, not have it disappear just because you changed dirs and called al_current_dir again.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 27 Nov 2010 02:52:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Those are &quot;object-oriented&quot; and have some place to stash the string buffer. The only such place for al_get_current_directory() is in a global variable, which introduces problems with threads. Then we would need to make it thread-local, which introduces its own issues.</p><p>Just make a function that copies the string to your preferred location, and free Allegro&#39;s string immediately. You can make assumptions in your application that Allegro can&#39;t.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Sat, 27 Nov 2010 02:57:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I was just fiddling around with this version of Allegro and I found a problem. Probably on my end, but the behavior is still strange regardless.</p><p>I have this simple program:</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">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>  ALLEGRO_DISPLAY <span class="k3">*</span> display<span class="k2">;</span>
<span class="number">  4</span>
<span class="number">  5</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>al_init<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  6</span>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  7</span>
<span class="number">  8</span>  al_set_new_display_flags<span class="k2">(</span>ALLEGRO_FULLSCREEN_WINDOW <span class="k3">&amp;</span> ALLEGRO_OPENGL<span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>  al_set_new_display_option<span class="k2">(</span>ALLEGRO_STENCIL_SIZE, <span class="n">1</span>, ALLEGRO_REQUIRE<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>
<span class="number"> 11</span>  display <span class="k3">=</span> al_create_display<span class="k2">(</span><span class="n">640</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 14</span>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 15</span>
<span class="number"> 16</span>  al_destroy_display<span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 19</span><span class="k2">}</span>
</div></div><p>

Running it endlessly tries to create windows until the program crashes. I attached the log and am using the RC1 release from Allegro5.org. I figured <tt>al_create_display</tt> would fail gracefully instead of getting stuck in an endless loop.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sat, 27 Nov 2010 03:05:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That problem seems to happen on some computers.. It should be known that there is no loop in the display creation code AFAIK. So whatever is happening is a driver or d3d bug.</p><p>So far we have no idea what causes it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 27 Nov 2010 03:12:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Adding some logging in the loop around d3d_disp.cpp:1809 should help to debug it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Sat, 27 Nov 2010 03:23:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, the attached log does suggest some kind of loop. I added a bug report for it so we won&#39;t forget before the final 5.0, but hopefully we&#39;ll be able to fix it right away.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Sat, 27 Nov 2010 03:29:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Is it related to D3D or to OpenGL? (see the ALLEGRO_OPENGL in al_set_new_display_flags)</p><p>If it is related to OpenGL, I think that &quot;display_thread_proc&quot; in &quot;wgl_disp.c&quot; needs a review, because there are an ugly hack/loop for DInput (which is not used anymore).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (David Capello)</author>
		<pubDate>Sat, 27 Nov 2010 04:35:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s a D3D bug. It has to do with matching the best display format.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 04:36:41 +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/605549/892321#target">Trent Gamblin</a> said:</div><div class="quote"><p>It&#39;s a D3D bug. It has to do with matching the best display format.</p></div></div><p>Except it seems he&#39;s setting ALLEGRO_OPENGL?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 27 Nov 2010 05:37:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm in that case I don&#39;t know <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 05:38:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for the info. I won&#39;t use that code myself (as I said I was just fiddling with it).</p><p>I found another crash that only happens occasionally. Basically, when my program exits, it crashes some place in <tt>d3d_shutdown</tt>. The exact place tends to be rather random. The example is as follows:</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">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>  ALLEGRO_DISPLAY <span class="k3">*</span> display<span class="k2">;</span>
<span class="number">  4</span>
<span class="number">  5</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>al_init<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  6</span>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  7</span>
<span class="number">  8</span>  al_set_new_display_flags<span class="k2">(</span>ALLEGRO_WINDOWED <span class="k3">&amp;</span> ALLEGRO_OPENGL<span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>  al_set_new_display_option<span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>  al_set_new_display_option<span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">16</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>  al_set_new_display_option<span class="k2">(</span>ALLEGRO_STENCIL_SIZE, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>  display <span class="k3">=</span> al_create_display<span class="k2">(</span><span class="n">640</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>
<span class="number"> 15</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 16</span>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span>  al_set_window_title<span class="k2">(</span>display, <span class="s">"Bright Side"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span>  al_set_window_position<span class="k2">(</span>display, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>  al_toggle_display_flag<span class="k2">(</span>display, ALLEGRO_NOFRAME, <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>
<span class="number"> 22</span>  al_flip_display<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</span>
<span class="number"> 24</span>  al_destroy_display<span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>
<span class="number"> 26</span>  al_uninstall_system<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>
<span class="number"> 28</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 29</span><span class="k2">}</span>
</div></div><p>

Sorry for any inconvenience!</p><p><b>edit:</b> Seems to only happen due to <tt>al_toggle_display_flag</tt>. Without it I haven&#39;t encountered a crash yet.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sat, 27 Nov 2010 07:51:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ohh.. I noticed something quite wrong in your code.</p><p>Do not use &amp; to combine flags. use |.</p><p>Please re try both of your examples!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 27 Nov 2010 08:07:49 +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/605549/892332#target">Aaron Bolyard</a> said:</div><div class="quote"><p>
al_set_new_display_flags(ALLEGRO_WINDOWED &amp; ALLEGRO_OPENGL);
</p></div></div><p>

I think you want an | there not an &amp;. However, this may be a legitimate bug. Thanks.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 08:09:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh duh! Sorry and I&#39;ll try it again.</p><p><b>edit:</b> Yea that seems to be the problem (same with the previous one, probably). Sorry for wasting everyone&#39;s time! (my excuse is I haven&#39;t used bit operations in a long time, but that&#39;s a rather lame excuse... &quot;Oh, I haven&#39;t ridden a bike in four years! How will I remember?&quot;)</p><p><b>edit:</b> Actually that really should have no effect. <tt>ALLEGRO_OPENGL &amp; ALLEGRO_WINDOWED</tt> is 0. Would that not be a valid input? After all, it&#39;d just default to the regular settings (or am I wrong?). In any case, I encountered a crash again after doing some other stuff, tried the code previously with the fix, and lo and behold it happens. So I guess I wasn&#39;t wasting anyone&#39;s time.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sat, 27 Nov 2010 08:09:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So let me get this straight. It&#39;s crashing when using the OpenGL driver and when using the D3D driver, or is it one or the other?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 08:37:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I haven&#39;t had it crash yet with OpenGL, just Direct3D in <tt>d3d_shutdown</tt>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sat, 27 Nov 2010 08:43:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you&#39;re using ALLEGRO_OPENGL then you&#39;re using OpenGL not D3D. Memory corruption could cause it to appear to crash in the d3d driver. I just want to make it clear, so could you please post the code that crashes?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 08:47:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>By Direct3D I mean when I do not set any flags (through <tt>al_set_new_display_flags</tt>).</p><p>When I use Direct3D it crashes (by using the code below) at the end of the program:</p><p><span class="source-code">al_set_new_display_flags<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">;</span> <span class="c">/* Or just not calling it at all. */</span></span></p><p>And this does not crash at the end:</p><p><span class="source-code">al_set_new_display_flags<span class="k2">(</span>ALLEGRO_OPENGL<span class="k2">)</span></span></p><p>The example I am using is just this:</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">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>  ALLEGRO_DISPLAY <span class="k3">*</span> display<span class="k2">;</span>
<span class="number">  4</span>
<span class="number">  5</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>al_init<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  6</span>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  7</span>
<span class="number">  8</span>  al_set_new_display_option<span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>  al_set_new_display_option<span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">16</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>  al_set_new_display_option<span class="k2">(</span>ALLEGRO_STENCIL_SIZE, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>
<span class="number"> 12</span>  display <span class="k3">=</span> al_create_display<span class="k2">(</span><span class="n">640</span>, <span class="n">480</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><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 15</span>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 16</span>
<span class="number"> 17</span>  al_set_window_title<span class="k2">(</span>display, <span class="s">"Bright Side"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>  al_set_window_position<span class="k2">(</span>display, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span>  al_toggle_display_flag<span class="k2">(</span>display, ALLEGRO_NOFRAME, <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>
<span class="number"> 21</span>  al_flip_display<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span>  al_destroy_display<span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</span>
<span class="number"> 25</span>  al_uninstall_system<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 26</span>
<span class="number"> 27</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 28</span><span class="k2">}</span>
</div></div><p>

By default, this would use the Direct3D driver on Windows, or am I wrong?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sat, 27 Nov 2010 08:52:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, that&#39;s right. But since you were using ALLEGRO_OPENGL in all of your previous examples I had to verify.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 08:54:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I really don&#39;t mean to be a pain but I found a problem with getting display modes in OpenGL. The &quot;height&quot; member in <tt>ALLEGRO_DISPLAY_MODE</tt> is never set. I looked at the source and understand why the pixel format is not filled, so I ignore that for OpenGL contexts, but the height is important. Code is like so:</p><div class="source-code snippet"><div class="inner"><pre>ALLEGRO_DISPLAY_MODE mode<span class="k2">;</span>
al_set_new_display_option<span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
al_set_new_display_option<span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">16</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
al_set_new_display_option<span class="k2">(</span>ALLEGRO_STENCIL_SIZE, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
al_get_display_mode<span class="k2">(</span><span class="n">0</span>, <span class="k3">&amp;</span>mode<span class="k2">)</span>

<a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%d %d"</span>, mode.width, mode.height<span class="k2">)</span> <span class="c">/* Prints 640 0 (for example). */</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sat, 27 Nov 2010 11:02:27 +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/605549/892342#target">Trent Gamblin</a> said:</div><div class="quote"><p>But since you were using ALLEGRO_OPENGL in all of your previous examples I had to verify.</p></div></div><p>

Aaron was not using OpenGL really, see the <a href="http://www.allegro.cc/forums/thread/605549/892333#target">Thomas Fjellstrom</a> comment, he was using:
</p><pre>(ALLEGRO_WINDOWED &amp; ALLEGRO_OPENGL) = (1 &amp; 4) = 0 (&amp; instead of |)

  al_set_new_display_flags(0);
</pre><p>
I missed it too.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (David Capello)</author>
		<pubDate>Sat, 27 Nov 2010 18:31:47 +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/605549/892358#target">David Capello</a> said:</div><div class="quote"><p>
Aaron was not using OpenGL really, see the Thomas Fjellstrom comment, he was using:
</p></div></div><p>

I noticed that but assumed he was still using OpenGL after correcting that.</p><p>Aaron, if you&#39;re able to repeat this bug, could you please try adding a delay (Try Sleep(1000) on windows) after al_uninstall_sytem and before returning from main? I think it&#39;s a race condition. I was only able to reproduce it once though so I&#39;m not sure.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 18:59:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I started using the filechooser in Cumulate and I&#39;m annoyed by this error that shows up every time I use it.</p><p>** (&lt;unknown&gt;:16706): CRITICAL **: giop_thread_request_push: assertion `tdata != NULL&#39; failed</p><p>I&#39;ve tried to replicate it in a small example program but can&#39;t make it happen there. But in Cumulate it happens even in the simplest possible use of filechooser, create, show and destroy.</p><p>Usage can be found in this file.<br /><a href="https://github.com/trezker/Cumulate/blob/master/editor/file.cpp">https://github.com/trezker/Cumulate/blob/master/editor/file.cpp</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trezker)</author>
		<pubDate>Sat, 27 Nov 2010 19:01:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Aaron, for the second bug about OpenGL display modes, try the patch attached to this post.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sat, 27 Nov 2010 19:03:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The patch worked; thanks a bunch!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sun, 28 Nov 2010 10:10:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>YW. What about the delay I suggested a couple posts above?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sun, 28 Nov 2010 10:12:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh, I just tried that now after seeing your post and first run crashed still. Seems to crash during the call to <tt>al_uninstall_system</tt>, not after (when returning from <tt>main</tt>). <tt>Sleep</tt> never gets called.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erin Maus)</author>
		<pubDate>Sun, 28 Nov 2010 10:15:58 +0000</pubDate>
	</item>
</rss>
