From bde0c0da1c8d11433d37e905dc9bb4b17e7f6523 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Mon, 17 Dec 2012 16:02:59 +0000 Subject: Move the objc object release GFunc into gtkhelpers --- tikzit/src/gtk/ToolBox.m | 8 +------- tikzit/src/gtk/gtkhelpers.h | 8 ++++++++ tikzit/src/gtk/gtkhelpers.m | 5 +++++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/tikzit/src/gtk/ToolBox.m b/tikzit/src/gtk/ToolBox.m index c92311e..af753d4 100644 --- a/tikzit/src/gtk/ToolBox.m +++ b/tikzit/src/gtk/ToolBox.m @@ -25,7 +25,6 @@ #import "tztoolpalette.h" static void tool_button_toggled_cb (GtkWidget *widget, ToolBox *toolBox); -static void unretain (gpointer data); #define TOOL_DATA_KEY "tikzit-tool" @@ -88,7 +87,7 @@ static void unretain (gpointer data); G_OBJECT(item), TOOL_DATA_KEY, [tool retain], - unretain); + release_obj); g_signal_connect (item, "toggled", G_CALLBACK (tool_button_toggled_cb), @@ -271,9 +270,4 @@ static void tool_button_toggled_cb (GtkWidget *widget, ToolBox *toolBox) { } } -static void unretain (gpointer data) { - id obj = (id)data; - [obj release]; -} - // vim:ft=objc:ts=8:et:sts=4:sw=4 diff --git a/tikzit/src/gtk/gtkhelpers.h b/tikzit/src/gtk/gtkhelpers.h index 81a4d93..59b69bc 100644 --- a/tikzit/src/gtk/gtkhelpers.h +++ b/tikzit/src/gtk/gtkhelpers.h @@ -24,6 +24,14 @@ #include #import +/** + * Releases the Objective-C object pointed to by data + * + * Intended for use as a cleanup function in Glib/GObject-based + * code. + */ +void release_obj (gpointer data); + NSString * gtk_editable_get_string (GtkEditable *editable, gint start, gint end); GdkRectangle gdk_rectangle_from_ns_rect (NSRect rect); diff --git a/tikzit/src/gtk/gtkhelpers.m b/tikzit/src/gtk/gtkhelpers.m index 150af9d..ce02618 100644 --- a/tikzit/src/gtk/gtkhelpers.m +++ b/tikzit/src/gtk/gtkhelpers.m @@ -25,6 +25,11 @@ #import "gtkhelpers.h" #import +void release_obj (gpointer data) { + id obj = (id)data; + [obj release]; +} + NSString * gtk_editable_get_string (GtkEditable *editable, gint start, gint end) { gchar *text = gtk_editable_get_chars (editable, start, end); -- cgit v1.2.3