forked from AuroraMiddleware/gtk
Start using NSInteger and NSUInteger
These have been introduced in Leopard and default to int and unsigned int. In 64-bit Snow Leopard they are long and unsigned long. This caused issues with the getRectsBeingDrawn message which needs a pointer to a NSInteger (long on 64-bit!) but we passed in an integer. Surprisingly this problem was visible when compiling with -O0 (segfault), but *not* when compiling with -O1. Other messages were NSInteger is now needed have also been adapted. Since NSInteger and NSUInteger are not available on Tiger, a define has been added to add typedefs for these when they have not been defined by the system headers.
This commit is contained in:
parent
324c3e4ced
commit
e9b593c2e6
@ -60,7 +60,8 @@
|
||||
GdkWindowObject *private = GDK_WINDOW_OBJECT (gdk_window);
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
|
||||
const NSRect *drawn_rects;
|
||||
int count, i;
|
||||
NSInteger count;
|
||||
int i;
|
||||
GdkRegion *region;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (gdk_window))
|
||||
|
@ -84,7 +84,7 @@ create_builtin_cursor (GdkCursorType cursor_type)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
NSBitmapImageRep *bitmap_rep;
|
||||
gint mask_width, mask_height;
|
||||
NSInteger mask_width, mask_height;
|
||||
gint src_width, src_height;
|
||||
gint dst_stride;
|
||||
const guchar *mask_start, *src_start;
|
||||
@ -249,7 +249,7 @@ gdk_cursor_new_from_pixmap (GdkPixmap *source,
|
||||
NSImage *image;
|
||||
NSCursor *nscursor;
|
||||
GdkCursor *cursor;
|
||||
gint width, height;
|
||||
NSInteger width, height;
|
||||
gint tmp_x, tmp_y;
|
||||
guchar *dst_data, *mask_data, *src_data;
|
||||
guchar *mask_start, *src_start;
|
||||
|
@ -213,7 +213,7 @@ get_time_from_ns_event (NSEvent *event)
|
||||
static int
|
||||
get_mouse_button_from_ns_event (NSEvent *event)
|
||||
{
|
||||
int button;
|
||||
NSInteger button;
|
||||
|
||||
button = [event buttonNumber];
|
||||
|
||||
|
@ -730,7 +730,7 @@ find_child_window_helper (GdkWindow *window,
|
||||
{
|
||||
NSRect frame = NSMakeRect (0, 0, 100, 100);
|
||||
NSRect content;
|
||||
int mask;
|
||||
NSUInteger mask;
|
||||
int titlebar_height;
|
||||
|
||||
mask = [child_impl->toplevel styleMask];
|
||||
@ -996,7 +996,7 @@ _gdk_window_impl_new (GdkWindow *window,
|
||||
NSScreen *screen;
|
||||
NSRect screen_rect;
|
||||
NSRect content_rect;
|
||||
int style_mask;
|
||||
NSUInteger style_mask;
|
||||
int nx, ny;
|
||||
const char *title;
|
||||
|
||||
@ -2644,7 +2644,7 @@ gdk_window_set_decorations (GdkWindow *window,
|
||||
GdkWMDecoration decorations)
|
||||
{
|
||||
GdkWindowImplQuartz *impl;
|
||||
int old_mask, new_mask;
|
||||
NSUInteger old_mask, new_mask;
|
||||
NSView *old_view;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
|
@ -25,6 +25,14 @@
|
||||
#import <gdk/quartz/GdkQuartzView.h>
|
||||
#import <gdk/quartz/GdkQuartzWindow.h>
|
||||
|
||||
/* NSInteger only exists in Leopard and newer. This check has to be
|
||||
* done after inclusion of the system headers. If NSInteger has not
|
||||
* been defined, we know for sure that we are on 32-bit.
|
||||
*/
|
||||
#ifndef NSINTEGER_DEFINED
|
||||
typedef int NSInteger;
|
||||
typedef unsigned int NSUInteger;
|
||||
#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user