Correcting minor bugs and adding assertions to help me track down a NULL pointer bug in Cocoa code.

This commit is contained in:
egottlieb 2010-08-05 00:53:38 -04:00
parent f77e383d26
commit 91e4d53502
3 changed files with 11 additions and 7 deletions

View file

@ -22,6 +22,7 @@
#include "SDL_config.h"
#include "SDL.h"
#include "SDL_assert.h"
#include "SDL_video.h"
#include "SDL_sysvideo.h"
#include "SDL_pixels.h"
@ -197,6 +198,7 @@ SDL_ShapeTree* SDL_CalculateShapeTree(SDL_WindowShapeMode mode,SDL_Surface* shap
}
void SDL_TraverseShapeTree(SDL_ShapeTree *tree,SDL_TraversalFunction function,void* closure) {
SDL_assert(tree != NULL);
if(tree->kind == QuadShape) {
SDL_TraverseShapeTree((SDL_ShapeTree *)tree->data.children.upleft,function,closure);
SDL_TraverseShapeTree((SDL_ShapeTree *)tree->data.children.upright,function,closure);

View file

@ -28,7 +28,7 @@
SDL_WindowShaper* Cocoa_CreateShaper(SDL_Window* window) {
SDL_WindowData* data = (SDL_WindowData*)window->driverdata;
[data->nswindow setAlpha:1.0];
[data->nswindow setAlphaValue:1.0];
[data->nswindow setOpaque:YES];
[data->nswindow setStyleMask:NSBorderlessWindowMask];
SDL_WindowShaper* result = SDL_malloc(sizeof(SDL_WindowShaper));
@ -45,7 +45,7 @@ SDL_WindowShaper* Cocoa_CreateShaper(SDL_Window* window) {
shape_data->shape = NULL;
int resized_properly = Cocoa_ResizeWindowShape(window);
assert(resized_properly == 0);
SDL_assert(resized_properly == 0);
return result;
}
@ -60,6 +60,7 @@ NSRect convert_rect(SDL_Rect rect,SDL_Window* window) {
}
void ConglomerateShapeTree(SDL_ShapeTree* tree,SDL_PathConglomeration* cong) {
SDL_assert(tree != NULL);
if(tree->kind == OpaqueShape) {
NSRect rect = convert_rect(tree->data.shape,cong->window);
[cong->clipPath appendBezierPathWithRect:rect];
@ -91,7 +92,7 @@ int Cocoa_SetWindowShape(SDL_WindowShaper *shaper,SDL_Surface *shape,SDL_WindowS
int Cocoa_ResizeWindowShape(SDL_Window *window) {
SDL_ShapeData* data = window->shaper->driverdata;
assert(data != NULL);
SDL_assert(data != NULL);
if(data->shape != NULL)
SDL_FreeShapeTree(&data->shape);

View file

@ -20,7 +20,8 @@
eligottlieb@gmail.com
*/
#include <assert.h>
#include "SDL_assert.h"
#include "SDL_malloc.h"
#include "SDL_x11video.h"
#include "SDL_x11shape.h"
#include "SDL_x11window.h"
@ -39,13 +40,13 @@ SDL_WindowShaper* X11_CreateShaper(SDL_Window* window) {
result->mode.mode = ShapeModeDefault;
result->mode.parameters.binarizationCutoff = 1;
result->usershownflag = 0;
SDL_ShapeData* data = malloc(sizeof(SDL_ShapeData));
SDL_ShapeData* data = SDL_malloc(sizeof(SDL_ShapeData));
result->driverdata = data;
data->bitmapsize = 0;
data->bitmap = NULL;
window->shaper = result;
int resized_properly = X11_ResizeWindowShape(window);
assert(resized_properly == 0);
SDL_assert(resized_properly == 0);
}
#endif
@ -54,7 +55,7 @@ SDL_WindowShaper* X11_CreateShaper(SDL_Window* window) {
int X11_ResizeWindowShape(SDL_Window* window) {
SDL_ShapeData* data = window->shaper->driverdata;
assert(data != NULL);
SDL_assert(data != NULL);
unsigned int bitmapsize = window->w / 8;
if(window->w % 8 > 0)