console/libgnt/gntutils.c

changeset 13992
a6bbcc09c4eb
parent 13926
d2c1522276b3
equal deleted inserted replaced
13991:105653359626 13992:a6bbcc09c4eb
128 g_value_get_pointer(param_values + 1) , 128 g_value_get_pointer(param_values + 1) ,
129 g_value_get_pointer(param_values + 2) , 129 g_value_get_pointer(param_values + 2) ,
130 data2); 130 data2);
131 } 131 }
132 132
133 void gnt_closure_marshal_BOOLEAN__INT_INT(GClosure *closure,
134 GValue *ret_value,
135 guint n_param_values,
136 const GValue *param_values,
137 gpointer invocation_hint,
138 gpointer marshal_data)
139 {
140 typedef gboolean (*func) (gpointer data1, int, int, gpointer data2);
141 register func callback;
142 register GCClosure *cc = (GCClosure*)closure;
143 register gpointer data1, data2;
144 gboolean ret;
145
146 g_return_if_fail(ret_value != NULL);
147 g_return_if_fail(n_param_values == 3);
148
149 if (G_CCLOSURE_SWAP_DATA(closure))
150 {
151 data1 = closure->data;
152 data2 = g_value_peek_pointer(param_values + 0);
153 }
154 else
155 {
156 data1 = g_value_peek_pointer(param_values + 0);
157 data2 = closure->data;
158 }
159
160 callback = (func) (marshal_data ? marshal_data : cc->callback);
161 ret = callback(data1,
162 g_value_get_int(param_values + 1) ,
163 g_value_get_int(param_values + 2) ,
164 data2);
165 g_value_set_boolean(ret_value, ret);
166 }
167
168

mercurial