view Xcode/TemplatesForProjectBuilder/SDL Custom Cocoa Application/MyController.h @ 2723:911db724ea24

Couriersud fixed bug #603 Using the following sequence SDL_Init(..:) SDL_CreateWindow(..., SDL_WINDOW_OPENGL) SDL_DestroyWindow SDL_CreateWindow(..., SDL_WINDOW_OPENGL) SDL will crash in X11_GL_GetVisual. This is due to the fact that during SDL_DestroyWindow X11_GL_Shutdown was called because the last window has been closed. On the next call to SDL_CreateWindow the library is still loaded and only the memory is reinitialized. Function pointers such as gl_data->glXChooseVisual will not be reinitialized. Consequently, SDL will crash due to a NULL pointer access. The attached patch corrects the behaviour.
author Sam Lantinga <slouken@libsdl.org>
date Tue, 26 Aug 2008 02:47:26 +0000
parents 4d2d0548f5b2
children
line wrap: on
line source

//
//  MyController.h
//  SDL Custom Cocoa App
//
//  Created by Darrell Walisser on Fri Jul 18 2003.
//  Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "SDL.h"

extern id gController; // instance of this class from nib

// Declare SDL_QuartzWindowDelegate (defined in SDL.framework)
@interface SDL_QuartzWindowDelegate : NSObject
@end

@interface MyController : NSObject
{
    // Interface Builder Outlets
    IBOutlet id 	_framesPerSecond;
    IBOutlet id 	_numSprites;
    IBOutlet id 	_window;
    IBOutlet id 	_view;
    
    // Private instance variables
    int          _nSprites;
    int          _max_speed;
    int          _doFlip;
    Uint8*       _mem;
    
    SDL_Surface* _screen;
    SDL_Surface* _sprite;
    SDL_Rect*    _sprite_rects;
    SDL_Rect*    _positions;
    SDL_Rect*    _velocities;
    int          _sprites_visible;
    Uint16       _sprite_w, _sprite_h;
    
    int 		 _mouse_x, _mouse_y;
}
// Interface Builder Actions
- (IBAction)changeNumberOfSprites:(id)sender;
- (IBAction)selectUpdateMode:(id)sender;
@end