Mercurial > sdl-ios-xcode
annotate include/SDL_config_os2.h @ 4168:69bcba65c388 SDL-1.2
Fixed bug #526
Comment #1 From Simon Howard 2009-03-20 16:50:56
Hi,
I'm the author of Chocolate Doom, one of the other source ports that James
mentioned. This is a patch against the current SVN version of SDL 1.2 that
fixes the bug. It has been tested and hopefully should be obviously correct
from examining the changes. I'll give a brief explanation.
When the palette is set with SDL_SetPalette, the IDirectDrawPalette_SetEntries
DirectX function is invoked. However, when this happens, a WM_PALETTECHANGED
message is sent to the window.
A WM_PALETTECHANGED message can also be received if the palette is changed for
some other reason, like if the system palette is changed. Therefore, the
palette change handler (DX5_PaletteChanged) has code to deal with this case.
It distinguishes "expected" palette changes (set with SDL_SetPalette) from
"unexpected" palette changes using the colorchange_expected variable, which is
set before calling IDirectDrawPalette_SetEntries. However, the code to set
this variable is missing in the fullscreen code path. By setting this
variable, the palette change is handled properly and the freezes go away.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 13 Apr 2009 00:53:12 +0000 |
parents | a1b03ba2fcd0 |
children |
rev | line source |
---|---|
1442 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
4159 | 3 Copyright (C) 1997-2009 Sam Lantinga |
1442 | 4 |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Lesser General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2.1 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Lesser General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Lesser General Public | |
16 License along with this library; if not, write to the Free Software | |
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | |
19 Sam Lantinga | |
20 slouken@libsdl.org | |
21 */ | |
22 | |
23 #ifndef _SDL_config_os2_h | |
24 #define _SDL_config_os2_h | |
1608
d951a5afaf07
A less rude way of doing the same thing...
Sam Lantinga <slouken@libsdl.org>
parents:
1607
diff
changeset
|
25 |
d951a5afaf07
A less rude way of doing the same thing...
Sam Lantinga <slouken@libsdl.org>
parents:
1607
diff
changeset
|
26 #include "SDL_platform.h" |
1442 | 27 |
28 /* This is a set of defines to configure the SDL features */ | |
29 | |
30 typedef signed char int8_t; | |
31 typedef unsigned char uint8_t; | |
32 typedef signed short int16_t; | |
33 typedef unsigned short uint16_t; | |
34 typedef signed int int32_t; | |
35 typedef unsigned int uint32_t; | |
36 typedef unsigned int size_t; | |
37 typedef unsigned long uintptr_t; | |
38 typedef signed long long int64_t; | |
39 typedef unsigned long long uint64_t; | |
40 | |
41 #define SDL_HAS_64BIT_TYPE 1 | |
42 | |
43 /* Use Watcom's LIBC */ | |
44 #define HAVE_LIBC 1 | |
45 | |
46 /* Useful headers */ | |
47 #define HAVE_SYS_TYPES_H 1 | |
48 #define HAVE_STDIO_H 1 | |
49 #define STDC_HEADERS 1 | |
50 #define HAVE_STDLIB_H 1 | |
51 #define HAVE_STDARG_H 1 | |
52 #define HAVE_MALLOC_H 1 | |
53 #define HAVE_MEMORY_H 1 | |
54 #define HAVE_STRING_H 1 | |
55 #define HAVE_STRINGS_H 1 | |
56 #define HAVE_INTTYPES_H 1 | |
57 #define HAVE_STDINT_H 1 | |
58 #define HAVE_CTYPE_H 1 | |
59 #define HAVE_MATH_H 1 | |
60 #define HAVE_SIGNAL_H 1 | |
61 | |
62 /* C library functions */ | |
63 #define HAVE_MALLOC 1 | |
64 #define HAVE_CALLOC 1 | |
65 #define HAVE_REALLOC 1 | |
66 #define HAVE_FREE 1 | |
67 #define HAVE_ALLOCA 1 | |
68 #define HAVE_GETENV 1 | |
69 #define HAVE_PUTENV 1 | |
70 #define HAVE_UNSETENV 1 | |
71 #define HAVE_QSORT 1 | |
72 #define HAVE_ABS 1 | |
73 #define HAVE_BCOPY 1 | |
74 #define HAVE_MEMSET 1 | |
75 #define HAVE_MEMCPY 1 | |
76 #define HAVE_MEMMOVE 1 | |
77 #define HAVE_MEMCMP 1 | |
78 #define HAVE_STRLEN 1 | |
79 #define HAVE_STRLCPY 1 | |
80 #define HAVE_STRLCAT 1 | |
81 #define HAVE_STRDUP 1 | |
82 #define HAVE__STRREV 1 | |
83 #define HAVE__STRUPR 1 | |
84 #define HAVE__STRLWR 1 | |
85 #define HAVE_INDEX 1 | |
86 #define HAVE_RINDEX 1 | |
87 #define HAVE_STRCHR 1 | |
88 #define HAVE_STRRCHR 1 | |
89 #define HAVE_STRSTR 1 | |
90 #define HAVE_ITOA 1 | |
91 #define HAVE__LTOA 1 | |
92 #define HAVE__UITOA 1 | |
93 #define HAVE__ULTOA 1 | |
94 #define HAVE_STRTOL 1 | |
95 #define HAVE__I64TOA 1 | |
96 #define HAVE__UI64TOA 1 | |
97 #define HAVE_STRTOLL 1 | |
98 #define HAVE_STRTOD 1 | |
99 #define HAVE_ATOI 1 | |
100 #define HAVE_ATOF 1 | |
101 #define HAVE_STRCMP 1 | |
102 #define HAVE_STRNCMP 1 | |
103 #define HAVE_STRICMP 1 | |
104 #define HAVE_STRCASECMP 1 | |
105 #define HAVE_SSCANF 1 | |
106 #define HAVE_SNPRINTF 1 | |
107 #define HAVE_VSNPRINTF 1 | |
108 #define HAVE_SETJMP 1 | |
109 #define HAVE_CLOCK_GETTIME 1 | |
110 | |
111 /* Enable various audio drivers */ | |
112 #define SDL_AUDIO_DRIVER_DART 1 | |
1532
30f189cdd82b
Implemented dummy audio driver.
Ryan C. Gordon <icculus@icculus.org>
parents:
1442
diff
changeset
|
113 #define SDL_AUDIO_DRIVER_DISK 1 |
30f189cdd82b
Implemented dummy audio driver.
Ryan C. Gordon <icculus@icculus.org>
parents:
1442
diff
changeset
|
114 #define SDL_AUDIO_DRIVER_DUMMY 1 |
1442 | 115 |
116 /* Enable various cdrom drivers */ | |
117 #define SDL_CDROM_OS2 1 | |
118 | |
119 /* Enable various input drivers */ | |
120 #define SDL_JOYSTICK_OS2 1 | |
121 | |
122 /* Enable various shared object loading systems */ | |
123 #define SDL_LOADSO_OS2 1 | |
124 | |
125 /* Enable various threading systems */ | |
126 #define SDL_THREAD_OS2 1 | |
127 | |
128 /* Enable various timer systems */ | |
129 #define SDL_TIMER_OS2 1 | |
130 | |
131 /* Enable various video drivers */ | |
1533
38c1eb6b0083
By default all the real targets have dummy audio/video and disk audio.
Sam Lantinga <slouken@libsdl.org>
parents:
1532
diff
changeset
|
132 #define SDL_VIDEO_DRIVER_DUMMY 1 |
1442 | 133 #define SDL_VIDEO_DRIVER_OS2FS 1 |
134 | |
135 /* Enable OpenGL support */ | |
136 /* Nothing here yet for OS/2... :( */ | |
137 | |
138 /* Enable assembly routines where available */ | |
139 #define SDL_ASSEMBLY_ROUTINES 1 | |
140 | |
141 #endif /* _SDL_config_os2_h */ |