summaryrefslogtreecommitdiff
path: root/src/Gtk/Internal.icl
diff options
context:
space:
mode:
authorCamil Staps2019-11-01 12:26:48 +0100
committerCamil Staps2019-11-01 12:26:48 +0100
commitc10b18ff0bfe37c419a70558501da48c5c3c76b5 (patch)
tree3044d260a327adf27068a82a82db7c80d8dc4e76 /src/Gtk/Internal.icl
parentUse import code from library instead of environments to link with Gtk and Gtk... (diff)
Remove dependency on supporting C code
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