That error makes sense. I should have done more testing. It seems that using @property on the 32-bit compiler just silently does nothing useful. Grr. I will update the patch and TEST and then re-submit. Thanks, Pete
On Sat, 14 Nov 2015 at 00:24 Trent Gamblin <[email protected]> wrote: > Sorry Peter, once again I’ve sent the message direct to you. >_<… Here’s > the message I sent to Peter: > > Sadly this doesn’t work here. I compiled Allegro with the latest changes > (I think, git log doesn’t show anything… but it says I’m on the right > branch and your most recent change (linked below) appears to be in the > code). Then I compiled a level editor of mine ( > https://github.com/Nooskewl/AshEdit) as a 32 bit app. It gives me this > bad selector crash dump: > > 2015-11-13 17:19:37.315 AshEdit[2547:95509] -[ALLEGMenuTarget menu]: > unrecognized selector sent to instance 0x7af65bc0 > 2015-11-13 17:19:37.318 AshEdit[2547:95509] An uncaught exception was > raised > 2015-11-13 17:19:37.319 AshEdit[2547:95509] -[ALLEGMenuTarget menu]: > unrecognized selector sent to instance 0x7af65bc0 > 2015-11-13 17:19:37.320 AshEdit[2547:95509] ( > 0 CoreFoundation 0x921b2c19 __raiseError + > 201 > 1 libobjc.A.dylib 0x979b9f11 > objc_exception_throw + 276 > 2 CoreFoundation 0x921b66c3 > -[NSObject(NSObject) doesNotRecognizeSelector:] + 275 > 3 CoreFoundation 0x920a831c > ___forwarding___ + 1020 > 4 CoreFoundation 0x920a7efe > _CF_forwarding_prep_0 + 14 > 5 AshEdit 0x0010ada2 > -[ALLEGMenuTarget insertItem:atIndex:] + 66 > 6 AshEdit 0x0010a4cd > _al_insert_menu_item_at + 77 > 7 AshEdit 0x00108625 > al_insert_menu_item + 485 > 8 AshEdit 0x00108338 parse_menu_info > + 328 > 9 AshEdit 0x001081d3 al_build_menu + > 115 > 10 AshEdit 0x000e1894 > _al_mangled_main + 164 > 11 AshEdit 0x00156215 > +[AllegroAppDelegate app_main:] + 37 > 12 Foundation 0x9b8d8987 -[NSThread > main] + 45 > 13 Foundation 0x9b8d8712 > __NSThread__start__ + 1550 > 14 libsystem_pthread.dylib 0x9935d794 _pthread_body + > 138 > 15 libsystem_pthread.dylib 0x9935d70a _pthread_body + > 0 > 16 libsystem_pthread.dylib 0x9935afa6 thread_start + > 34 > ) > 2015-11-13 17:19:37.321 AshEdit[2547:95509] *** Terminating app due to > uncaught exception 'NSInvalidArgumentException', reason: '-[ALLEGMenuTarget > menu]: unrecognized selector sent to instance 0x7af65bc0' > *** Call stack at first throw: > ( > 0 CoreFoundation 0x921b2c19 __raiseError + > 201 > 1 libobjc.A.dylib 0x979b9f11 > objc_exception_throw + 276 > 2 CoreFoundation 0x921b66c3 > -[NSObject(NSObject) doesNotRecognizeSelector:] + 275 > 3 CoreFoundation 0x920a831c > ___forwarding___ + 1020 > 4 CoreFoundation 0x920a7efe > _CF_forwarding_prep_0 + 14 > 5 AshEdit 0x0010ada2 > -[ALLEGMenuTarget insertItem:atIndex:] + 66 > 6 AshEdit 0x0010a4cd > _al_insert_menu_item_at + 77 > 7 AshEdit 0x00108625 > al_insert_menu_item + 485 > 8 AshEdit 0x00108338 parse_menu_info > + 328 > 9 AshEdit 0x001081d3 al_build_menu + > 115 > 10 AshEdit 0x000e1894 > _al_mangled_main + 164 > 11 AshEdit 0x00156215 > +[AllegroAppDelegate app_main:] + 37 > 12 Foundation 0x9b8d8987 -[NSThread > main] + 45 > 13 Foundation 0x9b8d8712 > __NSThread__start__ + 1550 > 14 libsystem_pthread.dylib 0x9935d794 _pthread_body + > 138 > 15 libsystem_pthread.dylib 0x9935d70a _pthread_body + > 0 > 16 libsystem_pthread.dylib 0x9935afa6 thread_start + > 34 > ) > Trace/BPT trap: 5 > > Though I’m not sure why insertItem is a bad selector, perhaps that object > is not of the right type? I’m not really sure, Objective C isn’t my strong > point but if you need me to I can investigate further. > > > On Nov 12, 2015, at 10:18 AM, Peter Hull <[email protected]> wrote: > > > > Was just a straightforward one-liner, > > > https://github.com/peterhull90/allegro5/commit/1b775c0ca6081bb822780d3d0135c519f4f7d5e5 > > I think if you re-run the pull command that Elias suggested, it will > include this latest commit and you can retest. > > Pete > > > > On Thu, 12 Nov 2015 at 09:09 Peter Hull <[email protected]> wrote: > > Hi Trent, > > Thanks for taking the time to check this out. It seems that the Obj-C > runtime for i386 and x64 is different, and the former requires the instance > variables for each class to be declared in the interface. For x64 it's > enough to use the @property modifier and the variable is synthesized > automatically (this is the origin of _menu). See here for discussion: > > > http://stackoverflow.com/questions/12015307/properties-vs-instance-variables > > Always a new thing to learn, eh? Anyway it should be a straightforward > patch to go back to using the 'old' way, I'll get on it today. > > > > To whoever is in charge of Travis - should the script be modified to add > a 32-bit build for OS X? > > > > Pete > > > > On Thu, 12 Nov 2015 at 01:55 Trent Gamblin <[email protected]> wrote: > > Ok, the instructions worked fine. > > > > So at first I built your patch, Peter, for x86_64 only and that worked > fine. Then I noticed it wasn’t built for i386 and when I built that way I > ran into a little problem. > > > > /Users/trent/code/allegro/addons/native_dialog/osx_dialog.m:544:15: > error: 'ALLEGMenuTarget' does not have a member named '_menu'; did you mean > 'amenu'? > > self->_menu = [[NSMenu alloc] init]; > > ^~~~~ > > amenu > > /Users/trent/code/allegro/addons/native_dialog/osx_dialog.m:370:19: > note: 'amenu' declared here > > ALLEGRO_MENU* amenu; > > ^ > > /Users/trent/code/allegro/addons/native_dialog/osx_dialog.m:567:12: > error: 'ALLEGMenuTarget' does not have a member named '_menu'; did you mean > 'amenu'? > > [self->_menu release]; > > ^~~~~ > > amenu > > /Users/trent/code/allegro/addons/native_dialog/osx_dialog.m:370:19: > note: 'amenu' declared here > > ALLEGRO_MENU* amenu; > > > > > > Those two lines do not compile here. I’m building with the 10.11 SDK and > deployment target set to 10.6. It suggested changing _menu to amenu but > that doesn’t look correct? Maybe you know how to fix this? > > > > Besides that (which I got around by just accepting the “amenu” > substitution), I didn’t experience any problems while testing a game with > the patch. It launched up fine, switched between fullscreen window and > windowed fine and input worked fine. > > > > > On Nov 11, 2015, at 6:21 PM, Elias Pschernig <[email protected]> > wrote: > > > > > > Since you are a project member you can click on the "view command line > instructions" next to the Merge button. But basically it's: > > > > > > git pull --rebase git://github.com/peterhull90/allegro5.git osx-fixes > > > > > > Then you will have his commits at the very top of the git history with > "git log". (The github instructions actually keep the timeline and do a > merge, but I find that more confusing.) > > > > > > To delete all the changes again just do: > > > > > > git checkout . > > > > > > And you will be back at the Allegro5 master. > > > > > > > > > On Wed, Nov 11, 2015 at 8:10 PM, Trent Gamblin <[email protected]> > wrote: > > > I have not yet understood how to test these pull requests without lots > of messing with my checkout. What’s the easiest way? > > > > > > > > > > > > From: Allegro-developers [mailto:[email protected]] > On Behalf Of Peter Hull > > > Sent: November 10, 2015 1:59 PM > > > To: [email protected] > > > Subject: [AD] OSX fixes > > > > > > > > > > > > Hi all, > > > > > > I've put in a pull request relating to some general fixes for OS X to > make it work on 10.11. > > > https://github.com/liballeg/allegro5/pull/522 > > > > > > Hopefully the CI build will pass. Sorry it's a whole string of commits > but I couldn't get them to apply separately (git skills insufficient) - let > me know if there's a better way. > > > > > > Pete > > > > > > > > > _______________________________________________ > > > Allegro-developers mailing list > > > [email protected] > > > https://mail.gna.org/listinfo/allegro-developers > > > > > > > > > _______________________________________________ > > > Allegro-developers mailing list > > > [email protected] > > > https://mail.gna.org/listinfo/allegro-developers > > > > > > _______________________________________________ > > Allegro-developers mailing list > > [email protected] > > https://mail.gna.org/listinfo/allegro-developers > >
_______________________________________________ Allegro-developers mailing list [email protected] https://mail.gna.org/listinfo/allegro-developers
