I just tried this and it worked fine. Can you grab the latest snapshot (as of a couple of hours ago) and see if it still happens?
I had the same problem on OSX. It segfaults … sometimes. I displays the right graphics … sometimes.
It never gets the textures right (but they work if you revert to the original size).
I recently switched to SDL 1.3 and I have this problem too.
Are you static linking?
No, but I doubt that this would matter.
I have both static and dynamic linking happening now, but the dynamic linking
is screwing something up very badly.
I do not believe this is SDL as such, It’s probably something to do with Obj-C
bindings to Cocoa or whatever Applish stuff is doing the window management.
BTW: according to someone on StackOverflow the loss of textures when switching
to full screen is a known bug: they have to be reloaded manually. It seems this
doesn’t work on a resize either.
Hard to say.
Here are some valgrind errors that analysing right now:
Maybe I shouldn’t be doing a SDL_FreeSurface myself. At least not for the one returned
by SDL_SetVideoMode.
==6964== 1 errors in context 7 of 35:
==6964== Invalid free() / delete / delete[]
==6964== at 0x264BC8: free (vg_replace_malloc.c:366)
==6964== by 0x30D86E: SDL_FreeSurface (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/SDL.framework/Versions/1.3/SDL)
==6964== by 0x5375E2: Sexy::DDImage::~DDImage() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x538217: Sexy::DDInterface::Cleanup() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x5384CA: Sexy::DDInterface::Init(void*, bool) (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F1A11: Sexy::SexyAppBase::InitDDInterface() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F28ED: Sexy::SexyAppBase::MakeWindow() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F1C26: Sexy::SexyAppBase::SwitchScreenMode(bool, bool, bool) (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3245C: GameApp::SwitchScreenMode(bool, bool, bool) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x98DC0: WP_Options::switch_screen_mode() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9902A: WP_Options::set_user(std::string const&) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9BAA8: WP_Options::get_language() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== Address 0x149f7e70 is 0 bytes inside a block of size 64 free’d
==6964== at 0x264BC8: free (vg_replace_malloc.c:366)
==6964== by 0x30D86E: SDL_FreeSurface (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/SDL.framework/Versions/1.3/SDL)
==6964== by 0x3F1DEB: Sexy::SexyAppBase::MakeWindow() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F1C26: Sexy::SexyAppBase::SwitchScreenMode(bool, bool, bool) (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3245C: GameApp::SwitchScreenMode(bool, bool, bool) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x98DC0: WP_Options::switch_screen_mode() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9902A: WP_Options::set_user(std::string const&) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9BAA8: WP_Options::get_language() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x32098: GameApp::Init() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x6931: main (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964==
==6964== 1 errors in context 8 of 35:
==6964== Invalid read of size 4
==6964== at 0x30D843: SDL_FreeSurface (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/SDL.framework/Versions/1.3/SDL)
==6964== by 0x5375E2: Sexy::DDImage::~DDImage() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x538217: Sexy::DDInterface::Cleanup() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x5384CA: Sexy::DDInterface::Init(void*, bool) (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F1A11: Sexy::SexyAppBase::InitDDInterface() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F28ED: Sexy::SexyAppBase::MakeWindow() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F1C26: Sexy::SexyAppBase::SwitchScreenMode(bool, bool, bool) (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3245C: GameApp::SwitchScreenMode(bool, bool, bool) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x98DC0: WP_Options::switch_screen_mode() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9902A: WP_Options::set_user(std::string const&) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9BAA8: WP_Options::get_language() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x32098: GameApp::Init() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== Address 0x149f7e84 is 20 bytes inside a block of size 64 free’d
==6964== at 0x264BC8: free (vg_replace_malloc.c:366)
==6964== by 0x30D86E: SDL_FreeSurface (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/SDL.framework/Versions/1.3/SDL)
==6964== by 0x3F1DEB: Sexy::SexyAppBase::MakeWindow() (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3F1C26: Sexy::SexyAppBase::SwitchScreenMode(bool, bool, bool) (in /Users/kees/src/lokokiboko/build-debug/src/LokoKiboko.app/Contents/Frameworks/tuxcap.framework/Versions/4.0/tuxcap)
==6964== by 0x3245C: GameApp::SwitchScreenMode(bool, bool, bool) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x98DC0: WP_Options::switch_screen_mode() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9902A: WP_Options::set_user(std::string const&) (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x9BAA8: WP_Options::get_language() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x32098: GameApp::Init() (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
==6964== by 0x6931: main (in ./build-debug/src/LokoKiboko.app/Contents/MacOS/LokoKiboko)
– KeesOn 13 Feb, 2011, at 16:24 , john skaller wrote:
On 14/02/2011, at 2:10 AM, Kees Bakker wrote:
On 12 Feb, 2011, at 08:44 , john skaller wrote:
On 12/02/2011, at 5:24 PM, Sam Lantinga wrote: