Correcting minor bugs and adding assertions to help me track down a NULL pointer bug in Cocoa code.
This commit is contained in:
parent
f77e383d26
commit
91e4d53502
3 changed files with 11 additions and 7 deletions
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue