From 0951a97f5a2064dc7148ef6b3fc442c4f44165a7 Mon Sep 17 00:00:00 2001 From: Mike Kestner Date: Wed, 18 Jul 2007 14:41:32 +0000 Subject: [PATCH] 2007-07-18 Mike Kestner * gdk/EventExpose.cs : return a pointer from the get_area glue pinvoke to avoid VS crashes on win32. * gdk/glue/event.c : return a GdkRectangle* to avoid stack imbalance on VS debugger. [Fixes #82098] svn path=/trunk/gtk-sharp/; revision=82208 --- ChangeLog | 7 +++++++ gdk/EventExpose.cs | 4 ++-- gdk/glue/event.c | 6 +++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index f62891f02..0c5d1e18f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-07-18 Mike Kestner + + * gdk/EventExpose.cs : return a pointer from the get_area glue + pinvoke to avoid VS crashes on win32. + * gdk/glue/event.c : return a GdkRectangle* to avoid stack imbalance + on VS debugger. [Fixes #82098] + 2007-07-17 Mike Kestner * gtk/Gtk.metadata : map TreeModelFilter ctor param to prop to diff --git a/gdk/EventExpose.cs b/gdk/EventExpose.cs index b449a68c8..febadaa9e 100644 --- a/gdk/EventExpose.cs +++ b/gdk/EventExpose.cs @@ -27,7 +27,7 @@ namespace Gdk { public class EventExpose : Event { [DllImport("gdksharpglue-2")] - static extern Rectangle gtksharp_gdk_event_expose_get_area (IntPtr evt); + static extern IntPtr gtksharp_gdk_event_expose_get_area (IntPtr evt); [DllImport("gdksharpglue-2")] static extern IntPtr gtksharp_gdk_event_expose_get_region (IntPtr evt); @@ -39,7 +39,7 @@ namespace Gdk { public Rectangle Area { get { - return gtksharp_gdk_event_expose_get_area (Handle); + return (Gdk.Rectangle) Marshal.PtrToStructure (gtksharp_gdk_event_expose_get_area (Handle), typeof (Gdk.Rectangle)); } } diff --git a/gdk/glue/event.c b/gdk/glue/event.c index c409145da..33161548a 100644 --- a/gdk/glue/event.c +++ b/gdk/glue/event.c @@ -60,7 +60,7 @@ gdouble gtksharp_gdk_event_motion_get_x_root (GdkEventMotion *event); gdouble gtksharp_gdk_event_motion_get_y_root (GdkEventMotion *event); gdouble* gtksharp_gdk_event_motion_get_axes (GdkEventMotion *event); GdkDevice* gtksharp_gdk_event_motion_get_device (GdkEventMotion *event); -GdkRectangle gtksharp_gdk_event_expose_get_area (GdkEventExpose *event); +GdkRectangle* gtksharp_gdk_event_expose_get_area (GdkEventExpose *event); gint gtksharp_gdk_event_expose_get_count (GdkEventExpose *event); GdkRegion* gtksharp_gdk_event_expose_get_region (GdkEventExpose *event); GdkVisibilityState gtksharp_gdk_event_visibility_get_state (GdkEventVisibility *event); @@ -306,10 +306,10 @@ gtksharp_gdk_event_motion_get_axes (GdkEventMotion *event) return event->axes; } -GdkRectangle +GdkRectangle* gtksharp_gdk_event_expose_get_area (GdkEventExpose *event) { - return event->area; + return &event->area; } gint