summaryrefslogtreecommitdiff
path: root/src/Gtk/Internal.icl
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk/Internal.icl')
-rw-r--r--src/Gtk/Internal.icl16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/Gtk/Internal.icl b/src/Gtk/Internal.icl
index 8a32b2c..92a9009 100644
--- a/src/Gtk/Internal.icl
+++ b/src/Gtk/Internal.icl
@@ -6,7 +6,6 @@ import StdDebug
import System._Pointer
-import code from "clean_gtk_support."
import code from library "-lgtk-3"
import code from library "-lgdk-3"
import code from library "-lpangocairo-1.0"
@@ -29,12 +28,17 @@ g_object_unref p env = code {
ccall g_object_unref "p:V:A"
}
-g_signal_connect :: !Int !Pointer !String !Int !.a -> .a
-g_signal_connect type widget signal id env = connect type widget (packString signal) id env
+g_signal_connect :: !Pointer !String !Pointer !Int !.a -> .a
+g_signal_connect widget signal callback data env =
+ g_signal_connect_data widget signal callback data 0 0 env
+
+g_signal_connect_data :: !Pointer !String !Pointer !Int !Pointer !Int !.a -> .a
+g_signal_connect_data widget signal callback data destroy_data flags env =
+ connect widget (packString signal) callback data destroy_data flags env
where
- connect :: !Int !Pointer !String !Int !.a -> .a
- connect _ _ _ _ _ = code {
- ccall clean_g_signal_connect "IpsI:V:A"
+ connect :: !Pointer !String !Pointer !Int !Pointer !Int !.a -> .a
+ connect _ _ _ _ _ _ _ = code {
+ ccall g_signal_connect_data "pspIpI:V:A"
}
g_timeout_add :: !Int !Pointer !Int !.a -> .a