Mercurial > sdl-ios-xcode
view src/video/qtopia/SDL_QPEApp.cc @ 929:03fb90fc135e
Date: Mon, 05 Jul 2004 14:37:59 +0200
From: Yves Maurischat
Subject: [SDL] Crashes when using aRts on Linux
We had a problem with my app using SDL. It always crashed after SDL_OpenAudio(),
if the artsd was running on a Linux machine with KDE. After some investigation
(and searching for differences in other apps using arts) we found out, that the
problem resulted from loading, calling arts_init(), calling arts_free() and
unloading the aRts-Library in .../src/audio/arts/SDL_artsaudio.c twice: first in
"static int Audio_Available()", the second time in "static SDL_AudioDevice
*Audio_CreateDevice(int devindex)".
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 18 Aug 2004 21:41:39 +0000 |
parents | b8d311d90021 |
children | 376665398b25 |
line wrap: on
line source
/* SDL - Simple DirectMedia Layer Copyright (C) 1997-2004 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Sam Lantinga slouken@libsdl.org */ #include <qpe/qpeapplication.h> #include <qapplication.h> #include <qevent.h> #include "SDL_thread.h" #include "SDL_timer.h" #include "SDL_error.h" /* Flag to tell whether or not the Be application is active or not */ int SDL_QPEAppActive = 0; static QPEApplication *app; int SDL_InitQPEApp() { if(SDL_QPEAppActive <= 0) { if(!qApp) { int argc = 1; char *argv[] = { { "SDLApp" } }; app = new QPEApplication(argc, argv); QWidget dummy; app->showMainWidget(&dummy); } else { app = (QPEApplication*)qApp; } SDL_QPEAppActive++; } return 0; } /* Quit the QPE Application, if there's nothing left to do */ void SDL_QuitQPEApp(void) { /* Decrement the application reference count */ SDL_QPEAppActive--; /* If the reference count reached zero, clean up the app */ if ( SDL_QPEAppActive == 0 && app) { delete app; app = 0; qApp = 0; } }