summaryrefslogtreecommitdiff
path: root/src/clean_gtk_support.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/clean_gtk_support.c')
-rw-r--r--src/clean_gtk_support.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/clean_gtk_support.c b/src/clean_gtk_support.c
index f1672ed..e0756cd 100644
--- a/src/clean_gtk_support.c
+++ b/src/clean_gtk_support.c
@@ -17,7 +17,14 @@ static void clean_g_signal_handler_void (GtkWidget *target,gpointer data) {
handleSignal ((CleanInt)data,&args[2]);
}
-static CleanInt clean_g_signal_handler_int_int_pointer_pointer_bool
+static gboolean clean_g_signal_handler_pointer_bool (GtkWidget *target,gpointer p,gpointer data) {
+ CleanInt args[3];
+ args[0]=1;
+ args[2]=(CleanInt)p;
+ return (gboolean) handleSignal ((CleanInt)data,&args[2]);
+}
+
+static gboolean clean_g_signal_handler_int_int_pointer_pointer_bool
(GtkWidget *target,gint i1,gint i2,gpointer p1,gpointer p2,gpointer data) {
CleanInt args[6];
args[0]=4;
@@ -25,7 +32,7 @@ static CleanInt clean_g_signal_handler_int_int_pointer_pointer_bool
args[3]=i2;
args[4]=(CleanInt)p1;
args[5]=(CleanInt)p2;
- return handleSignal ((CleanInt)data,&args[2]);
+ return (gboolean) handleSignal ((CleanInt)data,&args[2]);
}
void clean_g_signal_connect (int type,GtkWidget *widget,char *signal,CleanInt id) {
@@ -33,7 +40,8 @@ void clean_g_signal_connect (int type,GtkWidget *widget,char *signal,CleanInt id
switch (type) {
case 1: callback=&clean_g_signal_handler_void; break;
- case 2: callback=&clean_g_signal_handler_int_int_pointer_pointer_bool; break;
+ case 2: callback=&clean_g_signal_handler_pointer_bool; break;
+ case 3: callback=&clean_g_signal_handler_int_int_pointer_pointer_bool; break;
default:
fprintf (stderr,"clean_g_signal_connect: illegal type %d\n",type);
return;