glib2 3.3.8 → 3.3.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -269,7 +269,7 @@ mc_query_body(VALUE value)
269
269
  VALUE ary = rb_ary_new();
270
270
 
271
271
  for (i = 0; i < args->n_fds; i++)
272
- rb_ary_push(ary, BOXED2RVAL(&args->fds[i], G_TYPE_POLL_FD));
272
+ rb_ary_push(ary, GPOLLFD2RVAL(&args->fds[i]));
273
273
 
274
274
  return rb_assoc_new(INT2NUM(args->timeout_), ary);
275
275
  }
@@ -332,7 +332,7 @@ rg_check(VALUE self, VALUE max_priority)
332
332
  printf("ret = %d\n", ret);
333
333
  ary = rb_ary_new();
334
334
  for (i = 0; i < ret; i++)
335
- rb_ary_push(ary, BOXED2RVAL(&fds[i], G_TYPE_POLL_FD));
335
+ rb_ary_push(ary, GPOLLFD2RVAL(&fds[i]));
336
336
 
337
337
  g_free(fds);
338
338
  return ary;
@@ -353,7 +353,7 @@ poll_func(GPollFD *ufds, guint nfsd, gint timeout_)
353
353
  VALUE func = rb_ivar_get(self, id_poll_func);
354
354
  if (NIL_P(func)) return -1;
355
355
 
356
- return INT2NUM(rb_funcall(func, 3, BOXED2RVAL(ufds, G_TYPE_POLL_FD),
356
+ return INT2NUM(rb_funcall(func, 3, GPOLLFD2RVAL(ufds),
357
357
  UINT2NUM(nfsd), INT2NUM(timeout_)));
358
358
  }
359
359
 
@@ -374,7 +374,7 @@ GPollFunc g_main_context_get_poll_func (GMainContext *context);
374
374
  static VALUE
375
375
  rg_add_poll(VALUE self, VALUE fd, VALUE priority)
376
376
  {
377
- g_main_context_add_poll(_SELF(self), RVAL2BOXED(fd, G_TYPE_POLL_FD),
377
+ g_main_context_add_poll(_SELF(self), RVAL2GPOLLFD(fd),
378
378
  NUM2INT(priority));
379
379
  return self;
380
380
  }
@@ -382,7 +382,7 @@ rg_add_poll(VALUE self, VALUE fd, VALUE priority)
382
382
  static VALUE
383
383
  rg_remove_poll(VALUE self, VALUE fd)
384
384
  {
385
- g_main_context_remove_poll(_SELF(self), RVAL2BOXED(fd, G_TYPE_POLL_FD));
385
+ g_main_context_remove_poll(_SELF(self), RVAL2GPOLLFD(fd));
386
386
  return self;
387
387
  }
388
388
 
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2011-2019 Ruby-GNOME Project Team
4
4
  * Copyright (C) 2002-2005 Masao Mutoh
5
5
  * Copyright (C) 1998-2000 Yukihiro Matsumoto,
6
6
  * Daisuke Kanda,
@@ -49,7 +49,11 @@ logmessage(GLogLevelFlags level)
49
49
  }
50
50
 
51
51
  static VALUE
52
- rbg_printerr(VALUE message, G_GNUC_UNUSED VALUE user_data)
52
+ rbg_printerr(VALUE message,
53
+ G_GNUC_UNUSED VALUE user_data,
54
+ G_GNUC_UNUSED int argc,
55
+ G_GNUC_UNUSED const VALUE *argv,
56
+ G_GNUC_UNUSED VALUE block)
53
57
  {
54
58
  g_printerr("\tfrom %.*s\n",
55
59
  (int)RSTRING_LEN(message),
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011-2019 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2011-2019 Ruby-GNOME Project Team
4
4
  * Copyright (C) 2005 Masao Mutoh
5
5
  *
6
6
  * This library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
21
21
 
22
22
  #include "rbgprivate.h"
23
23
 
24
- /*****************************************/
24
+ #if !GLIB_CHECK_VERSION(2, 36, 0)
25
25
  static GPollFD*
26
26
  pollfd_copy(const GPollFD* pollfd)
27
27
  {
@@ -34,7 +34,7 @@ pollfd_copy(const GPollFD* pollfd)
34
34
  }
35
35
 
36
36
  GType
37
- g_poll_fd_get_type(void)
37
+ g_pollfd_get_type(void)
38
38
  {
39
39
  static GType our_type = 0;
40
40
  if (our_type == 0)
@@ -43,10 +43,10 @@ g_poll_fd_get_type(void)
43
43
  (GBoxedFreeFunc)g_free);
44
44
  return our_type;
45
45
  }
46
- /*****************************************/
46
+ #endif
47
47
 
48
48
  #define RG_TARGET_NAMESPACE cPollFD
49
- #define _SELF(s) ((GPollFD*)RVAL2BOXED(s, G_TYPE_POLL_FD))
49
+ #define _SELF(s) ((GPollFD*)RVAL2BOXED(s, G_TYPE_POLLFD))
50
50
 
51
51
  static VALUE
52
52
  rg_initialize(VALUE self, VALUE fd, VALUE events, VALUE revents)
@@ -56,7 +56,7 @@ rg_initialize(VALUE self, VALUE fd, VALUE events, VALUE revents)
56
56
  gfd.events = NUM2INT(events);
57
57
  gfd.revents = NUM2INT(revents);
58
58
 
59
- G_INITIALIZE(self, g_boxed_copy(G_TYPE_POLL_FD, &gfd));
59
+ G_INITIALIZE(self, g_boxed_copy(G_TYPE_POLLFD, &gfd));
60
60
  return Qnil;
61
61
  }
62
62
 
@@ -99,7 +99,7 @@ rg_revents(VALUE self)
99
99
  void
100
100
  Init_glib_poll_fd(void)
101
101
  {
102
- VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_POLL_FD, "PollFD", mGLib);
102
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_POLLFD, "PollFD", mGLib);
103
103
 
104
104
  RG_DEF_METHOD(initialize, 3);
105
105
 
@@ -178,14 +178,14 @@ rg_set_ready_time(VALUE self, VALUE ready_time)
178
178
  static VALUE
179
179
  rg_add_poll(VALUE self, VALUE fd)
180
180
  {
181
- g_source_add_poll(_SELF(self), RVAL2BOXED(fd, G_TYPE_POLL_FD));
181
+ g_source_add_poll(_SELF(self), RVAL2GPOLLFD(fd));
182
182
  return self;
183
183
  }
184
184
 
185
185
  static VALUE
186
186
  rg_remove_poll(VALUE self, VALUE fd)
187
187
  {
188
- g_source_remove_poll(_SELF(self), RVAL2BOXED(fd, G_TYPE_POLL_FD));
188
+ g_source_remove_poll(_SELF(self), RVAL2GPOLLFD(fd));
189
189
  return self;
190
190
  }
191
191
 
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011-2019 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2011-2019 Ruby-GNOME Project Team
4
4
  * Copyright (C) 2002,2003 Masahiro Sakai
5
5
  *
6
6
  * This library is free software; you can redistribute it and/or
@@ -57,8 +57,6 @@ static const rb_data_type_t rg_glib_boxed_type = {
57
57
  {
58
58
  boxed_mark,
59
59
  boxed_free,
60
- NULL,
61
- {0},
62
60
  },
63
61
  NULL,
64
62
  NULL,
@@ -111,8 +111,6 @@ static const rb_data_type_t rg_glib_enum_type = {
111
111
  {
112
112
  NULL,
113
113
  enum_free,
114
- NULL,
115
- {0},
116
114
  },
117
115
  NULL,
118
116
  NULL,
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2004-2019 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2004-2019 Ruby-GNOME Project Team
4
4
  * Copyright (C) 2002,2003 Masahiro Sakai
5
5
  *
6
6
  * This library is free software; you can redistribute it and/or
@@ -80,8 +80,6 @@ static const rb_data_type_t rg_glib_flags_type = {
80
80
  {
81
81
  NULL,
82
82
  flags_free,
83
- NULL,
84
- {0},
85
83
  },
86
84
  NULL,
87
85
  NULL,
@@ -371,7 +369,8 @@ flags_compare_get_flags_body(VALUE user_data)
371
369
  }
372
370
 
373
371
  static VALUE
374
- flags_compare_get_flags_rescue(VALUE user_data)
372
+ flags_compare_get_flags_rescue(VALUE user_data,
373
+ G_GNUC_UNUSED VALUE error)
375
374
  {
376
375
  compare_data *data = (compare_data *)user_data;
377
376
 
@@ -467,7 +466,7 @@ rg_operator_flags_lt(VALUE self, VALUE rhs)
467
466
  }
468
467
 
469
468
  static VALUE
470
- rg_operator_flags_not(VALUE self, G_GNUC_UNUSED VALUE rhs)
469
+ rg_operator_flags_not(VALUE self)
471
470
  {
472
471
  flags_holder* p = flags_get_holder(self);
473
472
  return rbgobj_make_flags((~ p->value) & p->gclass->mask,
@@ -1,7 +1,7 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011-2019 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2002-2004 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2011-2019 Ruby-GNOME Project Team
4
+ * Copyright (C) 2002-2004 Ruby-GNOME Project Team
5
5
  * Copyright (C) 2002-2003 Masahiro Sakai
6
6
  * Copyright (C) 1998-2000 Yukihiro Matsumoto,
7
7
  * Daisuke Kanda,
@@ -31,6 +31,12 @@ VALUE RG_TARGET_NAMESPACE;
31
31
  static VALUE eNoPropertyError;
32
32
  static GQuark RUBY_GOBJECT_OBJ_KEY;
33
33
 
34
+ gboolean
35
+ rbg_is_object(VALUE object)
36
+ {
37
+ return RVAL2CBOOL(rb_obj_is_kind_of(object, RG_TARGET_NAMESPACE));
38
+ }
39
+
34
40
  /* deperecated */
35
41
  void
36
42
  rbgobj_add_abstract_but_create_instance_class(G_GNUC_UNUSED GType gtype)
@@ -100,8 +106,6 @@ static const rb_data_type_t rg_glib_object_type = {
100
106
  {
101
107
  holder_mark,
102
108
  holder_free,
103
- NULL,
104
- {0},
105
109
  },
106
110
  NULL,
107
111
  NULL,
@@ -317,8 +321,14 @@ struct param_setup_arg {
317
321
  };
318
322
 
319
323
  static VALUE
320
- _params_setup(VALUE arg, struct param_setup_arg *param_setup_arg)
324
+ _params_setup(VALUE arg,
325
+ VALUE rb_param_setup_arg,
326
+ G_GNUC_UNUSED int argc,
327
+ G_GNUC_UNUSED const VALUE *argv,
328
+ G_GNUC_UNUSED VALUE block)
321
329
  {
330
+ struct param_setup_arg *param_setup_arg =
331
+ (struct param_setup_arg *)rb_param_setup_arg;
322
332
  guint index;
323
333
  VALUE name, val;
324
334
  GParamSpec* pspec;
@@ -352,16 +362,18 @@ _params_setup(VALUE arg, struct param_setup_arg *param_setup_arg)
352
362
  }
353
363
 
354
364
  static VALUE
355
- gobj_new_body(struct param_setup_arg* arg)
365
+ gobj_new_body(VALUE rb_arg)
356
366
  {
367
+ struct param_setup_arg *arg = (struct param_setup_arg *)rb_arg;
357
368
  rb_iterate(rb_each, (VALUE)arg->params_hash, _params_setup, (VALUE)arg);
358
369
  return (VALUE)g_object_newv(G_TYPE_FROM_CLASS(arg->gclass),
359
370
  arg->param_size, arg->params);
360
371
  }
361
372
 
362
373
  static VALUE
363
- gobj_new_ensure(struct param_setup_arg* arg)
374
+ gobj_new_ensure(VALUE rb_arg)
364
375
  {
376
+ struct param_setup_arg *arg = (struct param_setup_arg *)rb_arg;
365
377
  guint i;
366
378
  g_type_class_unref(arg->gclass);
367
379
  for (i = 0; i < arg->param_size; i++) {
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011-2019 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2011-2019 Ruby-GNOME Project Team
4
4
  * Copyright (C) 2002,2003 Masahiro Sakai
5
5
  *
6
6
  * This library is free software; you can redistribute it and/or
@@ -58,8 +58,6 @@ static const rb_data_type_t rg_glib_param_type = {
58
58
  {
59
59
  pspec_mark,
60
60
  pspec_free,
61
- NULL,
62
- {0},
63
61
  },
64
62
  NULL,
65
63
  NULL,
@@ -228,8 +226,9 @@ struct validate_arg{
228
226
  };
229
227
 
230
228
  static VALUE
231
- value_validate_body(struct validate_arg* arg)
229
+ value_validate_body(VALUE rb_arg)
232
230
  {
231
+ struct validate_arg *arg = (struct validate_arg *)rb_arg;
233
232
  VALUE ret;
234
233
  gboolean b;
235
234
 
@@ -240,8 +239,9 @@ value_validate_body(struct validate_arg* arg)
240
239
  }
241
240
 
242
241
  static VALUE
243
- value_validate_ensure(struct validate_arg* arg)
242
+ value_validate_ensure(VALUE rb_arg)
244
243
  {
244
+ struct validate_arg *arg = (struct validate_arg *)rb_arg;
245
245
  g_value_unset(arg->value);
246
246
  return Qnil;
247
247
  }
@@ -332,16 +332,22 @@ rg_ref_count(VALUE self)
332
332
  param_is_##flag(VALUE self) \
333
333
  { \
334
334
  GParamSpec* pspec = G_PARAM_SPEC(rbgobj_get_param_spec(self)); \
335
- return CBOOL2RVAL(pspec->flags & flag); \
335
+ return CBOOL2RVAL((pspec->flags & flag) == flag); \
336
336
  }
337
337
 
338
338
  param_is_flag(G_PARAM_READABLE)
339
339
  param_is_flag(G_PARAM_WRITABLE)
340
+ param_is_flag(G_PARAM_READWRITE)
340
341
  param_is_flag(G_PARAM_CONSTRUCT)
341
342
  param_is_flag(G_PARAM_CONSTRUCT_ONLY)
342
343
  param_is_flag(G_PARAM_LAX_VALIDATION)
343
- param_is_flag(G_PARAM_PRIVATE)
344
- param_is_flag(G_PARAM_READWRITE)
344
+ param_is_flag(G_PARAM_STATIC_NAME)
345
+ param_is_flag(G_PARAM_STATIC_NICK)
346
+ param_is_flag(G_PARAM_STATIC_BLURB)
347
+ #if GLIB_CHECK_VERSION(2, 42, 0)
348
+ param_is_flag(G_PARAM_EXPLICIT_NOTIFY)
349
+ #endif
350
+ param_is_flag(G_PARAM_DEPRECATED)
345
351
 
346
352
  /**********************************************************************/
347
353
 
@@ -352,15 +358,34 @@ Init_gobject_gparam(void)
352
358
  RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_PARAM, "Param", mGLib);
353
359
 
354
360
  /* GParamFlags */
355
- rb_define_const(RG_TARGET_NAMESPACE, "READABLE", INT2FIX(G_PARAM_READABLE));
356
- rb_define_const(RG_TARGET_NAMESPACE, "WRITABLE", INT2FIX(G_PARAM_WRITABLE));
357
- rb_define_const(RG_TARGET_NAMESPACE, "CONSTRUCT", INT2FIX(G_PARAM_CONSTRUCT));
358
- rb_define_const(RG_TARGET_NAMESPACE, "CONSTRUCT_ONLY", INT2FIX(G_PARAM_CONSTRUCT_ONLY));
359
- rb_define_const(RG_TARGET_NAMESPACE, "LAX_VALIDATION", INT2FIX(G_PARAM_LAX_VALIDATION));
360
- rb_define_const(RG_TARGET_NAMESPACE, "PRIVATE", INT2FIX(G_PARAM_PRIVATE));
361
- rb_define_const(RG_TARGET_NAMESPACE, "READWRITE", INT2FIX(G_PARAM_READWRITE));
362
- rb_define_const(RG_TARGET_NAMESPACE, "MASK", INT2FIX(G_PARAM_MASK));
363
- rb_define_const(RG_TARGET_NAMESPACE, "USER_SHIFT", INT2FIX(G_PARAM_USER_SHIFT));
361
+ rb_define_const(RG_TARGET_NAMESPACE, "READABLE",
362
+ INT2FIX(G_PARAM_READABLE));
363
+ rb_define_const(RG_TARGET_NAMESPACE, "WRITABLE",
364
+ INT2FIX(G_PARAM_WRITABLE));
365
+ rb_define_const(RG_TARGET_NAMESPACE, "READWRITE",
366
+ INT2FIX(G_PARAM_READWRITE));
367
+ rb_define_const(RG_TARGET_NAMESPACE, "CONSTRUCT",
368
+ INT2FIX(G_PARAM_CONSTRUCT));
369
+ rb_define_const(RG_TARGET_NAMESPACE, "CONSTRUCT_ONLY",
370
+ INT2FIX(G_PARAM_CONSTRUCT_ONLY));
371
+ rb_define_const(RG_TARGET_NAMESPACE, "LAX_VALIDATION",
372
+ INT2FIX(G_PARAM_LAX_VALIDATION));
373
+ rb_define_const(RG_TARGET_NAMESPACE, "STATIC_NAME",
374
+ INT2FIX(G_PARAM_STATIC_NAME));
375
+ rb_define_const(RG_TARGET_NAMESPACE, "STATIC_NICK",
376
+ INT2FIX(G_PARAM_STATIC_NICK));
377
+ rb_define_const(RG_TARGET_NAMESPACE, "STATIC_BLURB",
378
+ INT2FIX(G_PARAM_STATIC_BLURB));
379
+ #if GLIB_CHECK_VERSION(2, 42, 0)
380
+ rb_define_const(RG_TARGET_NAMESPACE, "EXPLICIT_NOTIFY",
381
+ INT2FIX(G_PARAM_EXPLICIT_NOTIFY));
382
+ #endif
383
+ rb_define_const(RG_TARGET_NAMESPACE, "DEPRECATED",
384
+ INT2FIX(G_PARAM_DEPRECATED));
385
+ rb_define_const(RG_TARGET_NAMESPACE, "MASK",
386
+ INT2FIX(G_PARAM_MASK));
387
+ rb_define_const(RG_TARGET_NAMESPACE, "USER_SHIFT",
388
+ INT2FIX(G_PARAM_USER_SHIFT));
364
389
 
365
390
  rb_define_alloc_func(RG_TARGET_NAMESPACE, pspec_s_allocate);
366
391
 
@@ -389,11 +414,28 @@ Init_gobject_gparam(void)
389
414
  /* for debugging */
390
415
  RG_DEF_METHOD(ref_count, 0);
391
416
 
392
- rbg_define_method(RG_TARGET_NAMESPACE, "readable?", param_is_G_PARAM_READABLE, 0);
393
- rbg_define_method(RG_TARGET_NAMESPACE, "writable?", param_is_G_PARAM_WRITABLE, 0);
394
- rbg_define_method(RG_TARGET_NAMESPACE, "construct?", param_is_G_PARAM_CONSTRUCT, 0);
395
- rbg_define_method(RG_TARGET_NAMESPACE, "construct_only?", param_is_G_PARAM_CONSTRUCT_ONLY, 0);
396
- rbg_define_method(RG_TARGET_NAMESPACE, "lax_validation?", param_is_G_PARAM_LAX_VALIDATION, 0);
397
- rbg_define_method(RG_TARGET_NAMESPACE, "private?", param_is_G_PARAM_PRIVATE, 0);
398
- rbg_define_method(RG_TARGET_NAMESPACE, "readwrite?", param_is_G_PARAM_READWRITE, 0);
417
+ rbg_define_method(RG_TARGET_NAMESPACE, "readable?",
418
+ param_is_G_PARAM_READABLE, 0);
419
+ rbg_define_method(RG_TARGET_NAMESPACE, "writable?",
420
+ param_is_G_PARAM_WRITABLE, 0);
421
+ rbg_define_method(RG_TARGET_NAMESPACE, "readwrite?",
422
+ param_is_G_PARAM_READWRITE, 0);
423
+ rbg_define_method(RG_TARGET_NAMESPACE, "construct?",
424
+ param_is_G_PARAM_CONSTRUCT, 0);
425
+ rbg_define_method(RG_TARGET_NAMESPACE, "construct_only?",
426
+ param_is_G_PARAM_CONSTRUCT_ONLY, 0);
427
+ rbg_define_method(RG_TARGET_NAMESPACE, "lax_validation?",
428
+ param_is_G_PARAM_LAX_VALIDATION, 0);
429
+ rbg_define_method(RG_TARGET_NAMESPACE, "static_name?",
430
+ param_is_G_PARAM_STATIC_NAME, 0);
431
+ rbg_define_method(RG_TARGET_NAMESPACE, "static_nick?",
432
+ param_is_G_PARAM_STATIC_NICK, 0);
433
+ rbg_define_method(RG_TARGET_NAMESPACE, "static_blurb?",
434
+ param_is_G_PARAM_STATIC_BLURB, 0);
435
+ #if GLIB_CHECK_VERSION(2, 42, 0)
436
+ rbg_define_method(RG_TARGET_NAMESPACE, "explicit_notify?",
437
+ param_is_G_PARAM_EXPLICIT_NOTIFY, 0);
438
+ #endif
439
+ rbg_define_method(RG_TARGET_NAMESPACE, "deprecated?",
440
+ param_is_G_PARAM_DEPRECATED, 0);
399
441
  }
@@ -1,7 +1,7 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011-2019 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2002-2004 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2011-2019 Ruby-GNOME Project Team
4
+ * Copyright (C) 2002-2004 Ruby-GNOME Project Team
5
5
  * Copyright (C) 2002,2003 Masahiro Sakai
6
6
  *
7
7
  * This library is free software; you can redistribute it and/or
@@ -36,8 +36,6 @@ static const rb_data_type_t rg_glib_signal_type = {
36
36
  {
37
37
  NULL,
38
38
  NULL,
39
- NULL,
40
- {0},
41
39
  },
42
40
  NULL,
43
41
  NULL,
@@ -158,11 +156,11 @@ rbg_rval2gtypes_body(VALUE value)
158
156
  }
159
157
 
160
158
  static G_GNUC_NORETURN VALUE
161
- rbg_rval2gtypes_rescue(VALUE value)
159
+ rbg_rval2gtypes_rescue(VALUE value, VALUE error)
162
160
  {
163
161
  g_free(((struct rval2gtypes_args *)value)->result);
164
162
 
165
- rb_exc_raise(rb_errinfo());
163
+ rb_exc_raise(error);
166
164
  }
167
165
 
168
166
  static GType *
@@ -446,8 +444,9 @@ struct emit_arg {
446
444
  };
447
445
 
448
446
  static VALUE
449
- emit_body(struct emit_arg* arg)
447
+ emit_body(VALUE rb_arg)
450
448
  {
449
+ struct emit_arg *arg = (struct emit_arg *)rb_arg;
451
450
  GValue param = G_VALUE_INIT;
452
451
 
453
452
  g_value_init(&param, G_TYPE_FROM_INSTANCE(RVAL2GOBJ(arg->self)));
@@ -491,8 +490,9 @@ emit_body(struct emit_arg* arg)
491
490
  }
492
491
 
493
492
  static VALUE
494
- emit_ensure(struct emit_arg* arg)
493
+ emit_ensure(VALUE rb_arg)
495
494
  {
495
+ struct emit_arg *arg = (struct emit_arg *)rb_arg;
496
496
  g_value_array_free(arg->instance_and_params);
497
497
  return Qnil;
498
498
  }
@@ -625,8 +625,9 @@ guint g_signal_handlers_disconnect_matched (gpointer instance,
625
625
  #endif
626
626
 
627
627
  static VALUE
628
- chain_from_overridden_body(struct emit_arg* arg)
628
+ chain_from_overridden_body(VALUE rb_arg)
629
629
  {
630
+ struct emit_arg *arg = (struct emit_arg *)rb_arg;
630
631
  g_value_init(arg->instance_and_params->values,
631
632
  G_TYPE_FROM_INSTANCE(RVAL2GOBJ(arg->self)));
632
633
  rbgobj_rvalue_to_gvalue(arg->self, arg->instance_and_params->values);