aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/sdl
diff options
context:
space:
mode:
authorEugene Sandulenko2009-08-22 12:35:49 +0000
committerEugene Sandulenko2009-08-22 12:35:49 +0000
commit70b7ebb33901d3dff5426c1c2fa12bc5087b721a (patch)
treef59df4da0c5ee5951edeac8cebd921c022592811 /backends/platform/sdl
parentea87405ae412c7c4275cc1966750b817e44e255a (diff)
downloadscummvm-rg350-70b7ebb33901d3dff5426c1c2fa12bc5087b721a.tar.gz
scummvm-rg350-70b7ebb33901d3dff5426c1c2fa12bc5087b721a.tar.bz2
scummvm-rg350-70b7ebb33901d3dff5426c1c2fa12bc5087b721a.zip
Patch #2826508: "Motorola A1200/E6/A1600 (motoezx) patch"
svn-id: r43636
Diffstat (limited to 'backends/platform/sdl')
-rw-r--r--backends/platform/sdl/events.cpp2
-rw-r--r--backends/platform/sdl/main.cpp2
-rw-r--r--backends/platform/sdl/sdl.cpp5
-rw-r--r--backends/platform/sdl/sdl.h2
4 files changed, 7 insertions, 4 deletions
diff --git a/backends/platform/sdl/events.cpp b/backends/platform/sdl/events.cpp
index feb2c9a9c5..e6c8d716e3 100644
--- a/backends/platform/sdl/events.cpp
+++ b/backends/platform/sdl/events.cpp
@@ -186,6 +186,8 @@ bool OSystem_SDL::pollEvent(Common::Event &event) {
}
while (SDL_PollEvent(&ev)) {
+ preprocessEvents(&ev);
+
switch (ev.type) {
case SDL_KEYDOWN:{
b = event.kbd.flags = SDLModToOSystemKeyFlags(SDL_GetModState());
diff --git a/backends/platform/sdl/main.cpp b/backends/platform/sdl/main.cpp
index 021bda155c..fa8f6ededb 100644
--- a/backends/platform/sdl/main.cpp
+++ b/backends/platform/sdl/main.cpp
@@ -37,7 +37,7 @@
#include "SymbianOs.h"
#endif
-#if !defined(__MAEMO__) && !defined(_WIN32_WCE) && !defined(GP2XWIZ)
+#if !defined(__MAEMO__) && !defined(_WIN32_WCE) && !defined(GP2XWIZ)&& !defined(LINUXMOTO)
#if defined (WIN32)
int __stdcall WinMain(HINSTANCE /*hInst*/, HINSTANCE /*hPrevInst*/, LPSTR /*lpCmdLine*/, int /*iShowCmd*/) {
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index 7c1107582b..a4f4114d10 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -695,7 +695,6 @@ void OSystem_SDL::mixCallback(void *sys, byte *samples, int len) {
void OSystem_SDL::setupMixer() {
SDL_AudioSpec desired;
- SDL_AudioSpec obtained;
// Determine the desired output sampling frequency.
_samplesPerSec = 0;
@@ -725,7 +724,7 @@ void OSystem_SDL::setupMixer() {
_mixer = new Audio::MixerImpl(this);
assert(_mixer);
- if (SDL_OpenAudio(&desired, &obtained) != 0) {
+ if (SDL_OpenAudio(&desired, &_obtained) != 0) {
warning("Could not open audio device: %s", SDL_GetError());
_samplesPerSec = 0;
_mixer->setReady(false);
@@ -733,7 +732,7 @@ void OSystem_SDL::setupMixer() {
// Note: This should be the obtained output rate, but it seems that at
// least on some platforms SDL will lie and claim it did get the rate
// even if it didn't. Probably only happens for "weird" rates, though.
- _samplesPerSec = obtained.freq;
+ _samplesPerSec = _obtained.freq;
debug(1, "Output sample rate: %d Hz", _samplesPerSec);
// Tell the mixer that we are ready and start the sound processing
diff --git a/backends/platform/sdl/sdl.h b/backends/platform/sdl/sdl.h
index 3da9a433b7..e5c41e6611 100644
--- a/backends/platform/sdl/sdl.h
+++ b/backends/platform/sdl/sdl.h
@@ -216,6 +216,7 @@ public:
virtual bool hasFeature(Feature f);
virtual void setFeatureState(Feature f, bool enable);
virtual bool getFeatureState(Feature f);
+ virtual void preprocessEvents(SDL_Event *event) {};
#ifdef USE_OSD
void displayMessageOnOSD(const char *msg);
@@ -230,6 +231,7 @@ public:
protected:
bool _inited;
+ SDL_AudioSpec _obtained;
#ifdef USE_OSD
SDL_Surface *_osdSurface;