Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Allegro 5.0.6 released!

This thread is locked; no one can reply to it. rss feed Print
 1   2   3 
Allegro 5.0.6 released!
Peter Wang
Member #23
April 2000

http://sourceforge.net/projects/alleg/files/allegro/5.0.6/

Quote:

Changes from 5.0.5 to 5.0.6 (March 2012)
========================================

The main developers this time were: Trent Gamblin, Matthew Leverton,
Elias Pschernig, Paul Suntsov, Peter Wang.

Core:

- Added al_register_assert_handler.

Graphics:

- Added al_draw_tinted_scaled_rotated_bitmap_region.

- Added al_reset_clipping_rectangle convenience function.

- Added al_get_parent_bitmap.

- Fixed a bug in the OpenGL driver when drawing the backbuffer outside the
clipping rectangle of the target bitmap.

- Make blitting from backbuffer work when using multisampling on Windows/D3D.

Displays:

- Set ALLEGRO_MINIMIZED display flag on Windows (Zac Evans).

- Don't generate bogus resize events after restoring minimised window on
Windows.

- Fixed bug on Windows where two SWITCH_IN events were fired when window was
minimized/restored (Michael Swiger).

- Fixed inverted al_toggle_display_flag(ALLEGRO_NOFRAME) logic under Windows
as well as a bug where repeatedly setting the flag to on would make the
window grow bigger and bigger (Michael Swiger).

- Fixed inverted al_toggle_display_flag(ALLEGRO_NOFRAME) logic in X11.

- Prevent a deadlock during display creation on X.

- Fallback to the 'old' visual selection method on X instead of crashing
if the 'new' visual selection doesn't work.

Input:

- Use the same logic in set_mouse_xy for FULLSCREEN_WINDOW as was used for
FULLSCREEN. (Max OS X)

Filesystem:

- Added al_fopen_slice.

- Added al_set_exe_name which allows overriding Allegro's idea of the path
to the current executable.

- Make al_get_standard_path(ALLEGRO_TEMP_PATH) treat the value of TMPDIR
et al. as a directory name even without a trailing slash. (Unix)

- Make stdio al_fopen implementation set proper errno on failure.

Audio addons:

- Add mixer gain property and functions.

- Improve code to check that DLL symbols are loaded in the acodec addon.
The old method was hacky and broke under -O2 using GCC 4.6.1.

Image I/O addon:

- Improved accuracy of un-alpha-premultiplying in the native OSX bitmap
loader.

Primitives addon:

- Added al_draw_filled_pieslice and al_draw_pieslice.

- Added al_draw_elliptical_arc.

TTF addon:

- Added al_load_ttf_font_stretch functions (tobing).

- Added ALLEGRO_TTF_NO_AUTOHINT font loading flag to disable the Auto Hinter
which is enabled by default in newer version of FreeType (Michał Cichoń).

- Clear locked region so pixel borders aren't random garbage that can be seen
sometimes with linear filtering on.

- Unlock glyph cache page at end of text_length and get_text_dimensions
(jmasterx).

Examples:

- Added new examples: ex_audio_chain, ex_display_events, ex_file_slice.

- ex_ogre3d: Make it work under Windows (AMCerasoli).

- a5teroids: Support gamepads that report small non-zero values for sticks
that are at rest.

Other:

- Added index to HTML version of the reference manual (Jon Rafkind).

- Various documentation updates.

- Other minor bug fixes.

MD5SUMS:
e973b0563fa94b27996954175210cc72  allegro-5.0.6.7z
c4b4384ef03ac5f6388f378f3eeff243  allegro-5.0.6.tar.gz
dc226f98c76d995e02b65e7337a4bfc9  allegro-5.0.6.zip

Trent Gamblin
Member #261
April 2000
avatar

What's the timeframe for 5.2? Two important things there, proper iOS and Android support.

Thomas Fjellstrom
Member #476
June 2000
avatar

I'd like to get more Android work done before 5.2, but well, don't hold it up on my account. Two important things are likely to be sound, and apk/resource access (android provides an api to get access to the files inside the apk, an apk is just a zip, but the contents of the resource folder are never extracted, so you have to use the api, or a zip lib to access it). Also fleshing out filesystem stuff. I need to test it more.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"Goto is the buldozer of coding. Sometimes, the buldozer is just the right tool for the job. Not often, but sometimes." -- LordBob

Trent Gamblin
Member #261
April 2000
avatar

Yeah but there should be no harm releasing it not 100% tuned. Not likely to be any deal breaker api changes so it can improve with each 5.2 release.

Thomas Fjellstrom
Member #476
June 2000
avatar

Well there might be breakage in the future. I've been thinking about dropping 1.6 support all together. Would simplify some stuff. Might even go so far as to not support anything older than 2.2 or even 2.3 (90%+ of all active android devices are 2.3 and above).

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"Goto is the buldozer of coding. Sometimes, the buldozer is just the right tool for the job. Not often, but sometimes." -- LordBob

AMCerasoli
Member #11,955
May 2010
avatar

We told you to do that in the first place... But noooooooooo, you had to make it work on 1.6 devices... Stubborn as a mule reindeer. >:(

Elias
Member #358
May 2000

Quote:

Stubborn as a mule reindeer moose.

--
"Either help out or stop whining" - Evert

Thomas Fjellstrom
Member #476
June 2000
avatar

We told you to do that in the first place... But noooooooooo, you had to make it work on 1.6 devices... Stubborn as a mule reindeer. >:(

When I first planned things out, it was a good idea to support 1.6 ;) 20% or more of the market was still 1.6, and more if you counted 2.0-2.2. Now its probably not worth it.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"Goto is the buldozer of coding. Sometimes, the buldozer is just the right tool for the job. Not often, but sometimes." -- LordBob

Todd Cope
Member #998
November 2000
avatar

Getting this error on OS X when trying to build:

Scanning dependencies of target ex_audio_chain
[ 60%] Building CXX object examples/CMakeFiles/ex_audio_chain.dir/ex_audio_chain.cpp.o
Linking CXX executable ex_audio_chain
Undefined symbols for architecture i386:
  "__al_mangled_main", referenced from:
      __al_mangled_main$non_lazy_ptr in liballegro_main-static.a(osx_main.m.o)
     (maybe you meant: __al_mangled_main$non_lazy_ptr)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture ppc:
  "__al_mangled_main", referenced from:
      __al_mangled_main$non_lazy_ptr in liballegro_main-static.a(osx_main.m.o)
     (maybe you meant: __al_mangled_main$non_lazy_ptr)
ld: symbol(s) not found for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccrftWU3.out (No such file or directory)
make[2]: *** [examples/ex_audio_chain] Error 1
make[1]: *** [examples/CMakeFiles/ex_audio_chain.dir/all] Error 2
make: *** [all] Error 2

Append: I played with the cmake options and found that if I set SHARED to ON I don't get this error. Not sure what is causing.

Also, getting all these errors when I run any A5 program now (on OS X):

2012-03-04 10:55:21.492 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x211cf0 of class NSPathStore2 autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.495 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x506510 of class NSPathStore2 autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.496 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x5066f0 of class NSConcreteMapTable autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.497 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x5066b0 of class NSCFArray autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.497 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x5065b0 of class __NSArray0 autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.498 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x5068e0 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.499 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x211f80 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.499 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x506d30 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.500 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x211fe0 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.500 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20de10 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.501 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x501090 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.501 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20de10 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.502 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507030 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.502 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507060 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.503 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507080 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.504 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20de10 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.504 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x214fe0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.505 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x5072f0 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.505 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20bef0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.506 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507760 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.506 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507790 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.506 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x5019a0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.507 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507850 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.507 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x5077d0 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.508 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20c730 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.509 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x2150c0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.509 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507330 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.510 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507810 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.510 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x502b30 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.511 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507970 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.511 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20bef0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.512 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507aa0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.512 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20bef0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.515 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x215020 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.515 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507af0 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.516 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20de10 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.516 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507cb0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.517 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x215070 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.518 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x20bef0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.518 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507d10 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.519 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507eb0 of class NSCFArray autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.519 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x508000 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.520 ex_lines[63386:903] *** __NSAutoreleaseNoPool(): Object 0x507f70 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.534 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x50a090 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.534 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x21ac30 of class NSCFData autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.537 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x50a0e0 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.538 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x50a410 of class NSCFData autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.544 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x211250 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.545 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x20d330 of class NSConcreteValue autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.772 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x5179c0 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.773 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x231da0 of class NSCFArray autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.774 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x20c730 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.774 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x22ec40 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.775 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0xafc30 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.776 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x5019a0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.776 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x23b610 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.777 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0xa007f374 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.778 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x236290 of class NSObject autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.778 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x2356a0 of class NSCFArray autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.779 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x516e70 of class NSMenuItem autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.779 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x5019a0 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.780 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x2357f0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.780 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x20c730 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.781 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x2379e0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.781 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x516950 of class NSPathStore2 autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.782 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x237550 of class NSCFData autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.782 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x518660 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.783 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x516c20 of class NSCoreUIImageRep autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.783 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x231eb0 of class NSImage autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.784 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x5065b0 of class __NSArray0 autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.784 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x237a50 of class NSImage autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.785 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x23f1e0 of class NSImage autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.785 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x20c730 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.785 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x5186c0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.786 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0xafc30 of class NSCFString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.786 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x20d350 of class NSConcreteAttributedString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.787 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x237290 of class NSConcreteAttributedString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.787 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x22e620 of class NSConcreteAttributedString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.788 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x22e620 of class NSConcreteAttributedString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.788 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x22e620 of class NSConcreteAttributedString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.789 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x5144a0 of class NSCFDictionary autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.789 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x2088f0 of class NSConcreteMutableAttributedString autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.790 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0x519050 of class NSConcreteMapTable autoreleased with no pool in place - just leaking
2012-03-04 10:55:21.790 ex_lines[63386:3d03] *** __NSAutoreleaseNoPool(): Object 0xafc30 of class NSCFString autoreleased with no pool in place - just leaking

Michał Cichoń
Member #11,736
March 2010

Don Freeman
Member #5,110
October 2004
avatar

Michał Cichoń: Tried to download from your site, but says server not found?! :-/

--
"Everyone tells me I should forget about you, you don’t deserve me. They’re right, you don’t deserve me, but I deserve you."
"It’s so simple to be wise. Just think of something stupid to say and then don’t say it."

Michał Cichoń
Member #11,736
March 2010

URL are fixed, try now.

"God starts from scratch too"
Windows Allegro Build Repo: http://targonski.nazwa.pl/thedmd/allegro/

Elias
Member #358
May 2000

Todd Cope said:

Also, getting all these errors when I run any A5 program now (on OS X):

How did you compile Allegro? Which version of OSX and what kind of Mac? There's another thread about this but it doesn't happen for me so hard to debug - I'm trying to figure out how to reproduce. It's very easy to fix in any case, if you want you can just set a breakpoint to __NSAutoreleaseNoPool then create a pool before the line where gdb breaks and free it right afterwards.

--
"Either help out or stop whining" - Evert

Todd Cope
Member #998
November 2000
avatar

I am using a Mac Mini with a Core 2 Duo and Snow Leopard (10.6.8).

I compile Allegro with the command line tools like so:

mkdir build
cd build
ccmake ..
make

I am changing these options from the defaults from within ccmake before running 'make':

CMAKE_OSX_ARCHITECTURES          i386;ppc
CMAKE_OSX_DEPLOYMENT_TARGET      10.5
CMAKE_OSX_SYSROOT                /Developer/SDKs/MacOSX10.5.sdk
SHARED                           OFF
WANT_EMBED                       OFF
WANT_FLAC                        OFF
WANT_IMAGE_JPG                   OFF
WANT_NATIVE_IMAGE_LOADER         OFF

Elias
Member #358
May 2000

I don't think I have support for the 10.5 sdk or for ppc here. Maybe there is a way to install them. But 32 bit is common to the other thread and I can try building for that.

--
"Either help out or stop whining" - Evert

Todd Cope
Member #998
November 2000
avatar

The compiling problem is something to do with C++. Doesn't really have anything to do with the architecture as I've tried every combination, including the default (x86_64).

Doesn't there need to be an extern "C" somewhere for C++ code to be able to access a C function? Looking into the code (include/platform/alosx.h):

#ifndef ALLEGRO_LIB_BUILD
   #ifndef ALLEGRO_NO_MAGIC_MAIN
      #define ALLEGRO_MAGIC_MAIN
      #if __GNUC__ >= 4
         #define main __attribute__ ((visibility("default"))) _al_mangled_main
      #else
         #define main _al_mangled_main
      #endif
      #ifdef __cplusplus
         extern "C" int _al_mangled_main(int, char **);
      #endif
   #endif
#endif

During the build process, al_mangled_main doesn't get properly externed so any C++ programs will not find that function. This would explain the build error.

Peter Wang
Member #23
April 2000

Uh, extern "C" is there. What am I missing?

Todd Cope
Member #998
November 2000
avatar

#ifndef ALLEGRO_LIB_BUILD

It's there, but it doesn't get declared during the build process.

Peter Wang
Member #23
April 2000

Okay. The patch that introduced the #ifndef ALLEGRO_LIB_BUILD is r14593 (r14600 on the 5.0 branch). It was included in Allegro 5.0.1.

Quote:

Fix for bug #3157005 Dynamic linker can't find _al_mangled_main with XCode4

cherry-pick https://alleg.svn.sourceforge.net/svnroot/alleg/allegro/branches/5.1@14593

From: Peter Hull <peterhull90@example.org>

git-svn-id: https://alleg.svn.sourceforge.net/svnroot/alleg/allegro/branches/5.0@14600 198e8dbc-0e07-0410-9fd0-dca9db973e3e

The bug report and discussion is at http://sourceforge.net/tracker/?func=detail&aid=3157005&group_id=5665&atid=105665

I can't tell from the discussion why the ALLEGRO_LIB_BUILD bit was added.

Elias
Member #358
May 2000

I tried a 32-bit build with the 10.6 SDK but still everything works without warnings. I think now the problem must have to do with OSX 10.6. Some of our code which is not used under 10.7 which has no pool.

So at this point need someone who has OSX 10.6 and can run it in gdb, with a breakpoint set to __NSAutoreleaseNoPool. So basically type this:

gdb ./ex_draw_bitmaps
break __NSAutoreleaseNoPool
run

then when it stops type:

bt

and post the output.

--
"Either help out or stop whining" - Evert

Arvidsson
Member #4,603
May 2004

#0  0x00007fff84d8cd34 in __NSAutoreleaseNoPool ()
#1  0x00007fff84cd7e79 in _CFAutoreleasePoolAddObject ()
#2  0x00007fff84cd7be6 in -[NSObject(NSObject) autorelease] ()
#3  0x00007fff827035ca in +[NSPathStore2 pathStoreWithCharacters:length:] ()
#4  0x00007fff82701a28 in -[NSString(NSPathUtilities) _stringByResolvingSymlinksInPathUsingCache:] ()
#5  0x00007fff82701660 in _NSLookupOrCreateBundle ()
#6  0x00007fff827013b4 in +[NSBundle mainBundle] ()
#7  0x0000000100081404 in _al_osx_run_main (argc=1, argv=0x7fff5fbff978, real_main=<value temporarily unavailable, due to optimizations>) at /Users/arvidsson/Projekt/allegro/src/macosx/osx_app_delegate.m:284
#8  0x000000010012af40 in main (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at /Users/arvidsson/Projekt/allegro/addons/main/osx_main.m:34

Mac OS X 10.6.8, Allegro 5.0.5

Not sure if you wanted the latest allegro version.

Elias
Member #358
May 2000

Ok, so the problem seems to be in the if() starting here: https://github.com/elias-pschernig/allegro5/blob/master/src/macosx/osx_app_delegate.m#L279

But whether I replace if with if(1) or if(0) it always works without warning here (using the SVN version).

--
"Either help out or stop whining" - Evert

Trent Gamblin
Member #261
April 2000
avatar

I think I see a pattern (but may be wrong). Everyone seeing the errors is running 10.6.x? I'm on 10.7 and don't see them in my programs.

AMCerasoli
Member #11,955
May 2010
avatar

What does "TDM" stand for at MinGW 4.6.1? :-/

Arvidsson
Member #4,603
May 2004

Is there any special reason for not having an NSAutoreleasePool in _al_osx_run_main()?

edit: I read the commit, and apparently this just hides the memory leaks. I don't understand exactly why though.

 1   2   3 


Go to: