Mercurial > sdl-ios-xcode
view src/video/qtopia/SDL_QPEApp.cc @ 1798:49b4b8413734
Date: Tue, 9 May 2006 23:01:49 -0400
From: Mike Frysinger
Subject: [SDL] [patch] fall back to using MAP_PRIVATE with mmap() in fbcon dri
trying to use MAP_SHARED with mmap() on uClinux (aka non-mmu) hosts nowadays
will simply fail since the kernel disallows it ... falling back to using
MAP_PRIVATE on these hosts is acceptable ... as such, ive attached a patch
for the fbcon driver that will fall back to using MAP_PRIVATE if mmap() with
MAP_SHARED failed
going by a grep of MAP_SHARED, the only other drivers that utilize this flag
are video/wscons, video/ps2gs, and sound/dmaaudio ... i dont think these
would appear on a non-mmu host so the patch i wrote is restricted to just
SDL_fbvideo.c ...
-mike
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 10 May 2006 04:05:46 +0000 |
parents | 376665398b25 |
children | 782fd950bd46 c121d94672cb a1b03ba2fcd0 |
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 "SDL_config.h" #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; } }