Mercurial > sdl-ios-xcode
view test/testpower.c @ 3486:c87dbbde2bc2
Fixed bug #891
Mason Wheeler 2009-11-23 06:59:48 PST
There's code in SDL_RecreateWindow specifically to handle SDL_WINDOW_FOREIGN,
but it appears to have been overlooked in the allowed_flags constant. This
causes the line
window->flags = (flags & allowed_flags);
to strip SDL_WINDOW_FOREIGN from the window's flags, which breaks some code in
WIN_WindowProc in SDL_win32Events.c that treats foreign windows differently.
This can be trivially fixed by defining allowed_flags as
const Uint32 allowed_flags = (SDL_WINDOW_FULLSCREEN |
SDL_WINDOW_OPENGL |
SDL_WINDOW_BORDERLESS |
SDL_WINDOW_RESIZABLE |
SDL_WINDOW_INPUT_GRABBED |
SDL_WINDOW_FOREIGN);
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 24 Nov 2009 04:59:50 +0000 |
parents | 51750b7a966f |
children |
line wrap: on
line source
/* Simple test of power subsystem. */ #include <stdio.h> #include "SDL.h" static void report_power(void) { int seconds, percent; const SDL_PowerState state = SDL_GetPowerInfo(&seconds, &percent); char *statestr = NULL; printf("SDL-reported power info...\n"); switch (state) { case SDL_POWERSTATE_UNKNOWN: statestr = "Unknown"; break; case SDL_POWERSTATE_ON_BATTERY: statestr = "On battery"; break; case SDL_POWERSTATE_NO_BATTERY: statestr = "No battery"; break; case SDL_POWERSTATE_CHARGING: statestr = "Charging"; break; case SDL_POWERSTATE_CHARGED: statestr = "Charged"; break; default: statestr = "!!API ERROR!!"; break; } printf("State: %s\n", statestr); if (percent == -1) { printf("Percent left: unknown\n"); } else { printf("Percent left: %d%%\n", percent); } if (seconds == -1) { printf("Time left: unknown\n"); } else { printf("Time left: %d minutes, %d seconds\n", (int) (seconds / 60), (int) (seconds % 60)); } } int main(int argc, char *argv[]) { if (SDL_Init(SDL_INIT_VIDEO) == -1) { fprintf(stderr, "SDL_Init() failed: %s\n", SDL_GetError()); return 1; } report_power(); SDL_Quit(); return 0; } /* end of testpower.c ... */