Commit 91e4d535 authored by egottlieb's avatar egottlieb

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

parent f77e383d
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "SDL_config.h" #include "SDL_config.h"
#include "SDL.h" #include "SDL.h"
#include "SDL_assert.h"
#include "SDL_video.h" #include "SDL_video.h"
#include "SDL_sysvideo.h" #include "SDL_sysvideo.h"
#include "SDL_pixels.h" #include "SDL_pixels.h"
...@@ -197,6 +198,7 @@ SDL_ShapeTree* SDL_CalculateShapeTree(SDL_WindowShapeMode mode,SDL_Surface* shap ...@@ -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) { void SDL_TraverseShapeTree(SDL_ShapeTree *tree,SDL_TraversalFunction function,void* closure) {
SDL_assert(tree != NULL);
if(tree->kind == QuadShape) { if(tree->kind == QuadShape) {
SDL_TraverseShapeTree((SDL_ShapeTree *)tree->data.children.upleft,function,closure); SDL_TraverseShapeTree((SDL_ShapeTree *)tree->data.children.upleft,function,closure);
SDL_TraverseShapeTree((SDL_ShapeTree *)tree->data.children.upright,function,closure); SDL_TraverseShapeTree((SDL_ShapeTree *)tree->data.children.upright,function,closure);
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
SDL_WindowShaper* Cocoa_CreateShaper(SDL_Window* window) { SDL_WindowShaper* Cocoa_CreateShaper(SDL_Window* window) {
SDL_WindowData* data = (SDL_WindowData*)window->driverdata; SDL_WindowData* data = (SDL_WindowData*)window->driverdata;
[data->nswindow setAlpha:1.0]; [data->nswindow setAlphaValue:1.0];
[data->nswindow setOpaque:YES]; [data->nswindow setOpaque:YES];
[data->nswindow setStyleMask:NSBorderlessWindowMask]; [data->nswindow setStyleMask:NSBorderlessWindowMask];
SDL_WindowShaper* result = SDL_malloc(sizeof(SDL_WindowShaper)); SDL_WindowShaper* result = SDL_malloc(sizeof(SDL_WindowShaper));
...@@ -45,7 +45,7 @@ SDL_WindowShaper* Cocoa_CreateShaper(SDL_Window* window) { ...@@ -45,7 +45,7 @@ SDL_WindowShaper* Cocoa_CreateShaper(SDL_Window* window) {
shape_data->shape = NULL; shape_data->shape = NULL;
int resized_properly = Cocoa_ResizeWindowShape(window); int resized_properly = Cocoa_ResizeWindowShape(window);
assert(resized_properly == 0); SDL_assert(resized_properly == 0);
return result; return result;
} }
...@@ -60,6 +60,7 @@ NSRect convert_rect(SDL_Rect rect,SDL_Window* window) { ...@@ -60,6 +60,7 @@ NSRect convert_rect(SDL_Rect rect,SDL_Window* window) {
} }
void ConglomerateShapeTree(SDL_ShapeTree* tree,SDL_PathConglomeration* cong) { void ConglomerateShapeTree(SDL_ShapeTree* tree,SDL_PathConglomeration* cong) {
SDL_assert(tree != NULL);
if(tree->kind == OpaqueShape) { if(tree->kind == OpaqueShape) {
NSRect rect = convert_rect(tree->data.shape,cong->window); NSRect rect = convert_rect(tree->data.shape,cong->window);
[cong->clipPath appendBezierPathWithRect:rect]; [cong->clipPath appendBezierPathWithRect:rect];
...@@ -91,7 +92,7 @@ int Cocoa_SetWindowShape(SDL_WindowShaper *shaper,SDL_Surface *shape,SDL_WindowS ...@@ -91,7 +92,7 @@ int Cocoa_SetWindowShape(SDL_WindowShaper *shaper,SDL_Surface *shape,SDL_WindowS
int Cocoa_ResizeWindowShape(SDL_Window *window) { int Cocoa_ResizeWindowShape(SDL_Window *window) {
SDL_ShapeData* data = window->shaper->driverdata; SDL_ShapeData* data = window->shaper->driverdata;
assert(data != NULL); SDL_assert(data != NULL);
if(data->shape != NULL) if(data->shape != NULL)
SDL_FreeShapeTree(&data->shape); SDL_FreeShapeTree(&data->shape);
......
...@@ -20,7 +20,8 @@ ...@@ -20,7 +20,8 @@
eligottlieb@gmail.com eligottlieb@gmail.com
*/ */
#include <assert.h> #include "SDL_assert.h"
#include "SDL_malloc.h"
#include "SDL_x11video.h" #include "SDL_x11video.h"
#include "SDL_x11shape.h" #include "SDL_x11shape.h"
#include "SDL_x11window.h" #include "SDL_x11window.h"
...@@ -39,13 +40,13 @@ SDL_WindowShaper* X11_CreateShaper(SDL_Window* window) { ...@@ -39,13 +40,13 @@ SDL_WindowShaper* X11_CreateShaper(SDL_Window* window) {
result->mode.mode = ShapeModeDefault; result->mode.mode = ShapeModeDefault;
result->mode.parameters.binarizationCutoff = 1; result->mode.parameters.binarizationCutoff = 1;
result->usershownflag = 0; result->usershownflag = 0;
SDL_ShapeData* data = malloc(sizeof(SDL_ShapeData)); SDL_ShapeData* data = SDL_malloc(sizeof(SDL_ShapeData));
result->driverdata = data; result->driverdata = data;
data->bitmapsize = 0; data->bitmapsize = 0;
data->bitmap = NULL; data->bitmap = NULL;
window->shaper = result; window->shaper = result;
int resized_properly = X11_ResizeWindowShape(window); int resized_properly = X11_ResizeWindowShape(window);
assert(resized_properly == 0); SDL_assert(resized_properly == 0);
} }
#endif #endif
...@@ -54,7 +55,7 @@ SDL_WindowShaper* X11_CreateShaper(SDL_Window* window) { ...@@ -54,7 +55,7 @@ SDL_WindowShaper* X11_CreateShaper(SDL_Window* window) {
int X11_ResizeWindowShape(SDL_Window* window) { int X11_ResizeWindowShape(SDL_Window* window) {
SDL_ShapeData* data = window->shaper->driverdata; SDL_ShapeData* data = window->shaper->driverdata;
assert(data != NULL); SDL_assert(data != NULL);
unsigned int bitmapsize = window->w / 8; unsigned int bitmapsize = window->w / 8;
if(window->w % 8 > 0) if(window->w % 8 > 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment