summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Merry <alex.merry@cs.ox.ac.uk>2012-12-17 16:02:59 +0000
committerAlex Merry <alex.merry@cs.ox.ac.uk>2012-12-17 16:02:59 +0000
commitbde0c0da1c8d11433d37e905dc9bb4b17e7f6523 (patch)
treec748ec5f68bf27128c5fb91dbd89611740f044a5
parent352d217c8805ba3f7de6d4e710a0b4bb3e2a307b (diff)
Move the objc object release GFunc into gtkhelpers
-rw-r--r--tikzit/src/gtk/ToolBox.m8
-rw-r--r--tikzit/src/gtk/gtkhelpers.h8
-rw-r--r--tikzit/src/gtk/gtkhelpers.m5
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 <gtk/gtk.h>
#import <gdk-pixbuf/gdk-pixbuf.h>
+/**
+ * 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 <gdk/gdkkeysyms.h>
+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);