summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2001-10-05 19:01:08 +0000
committerMatt Wilson <msw@src.gnome.org>2001-10-05 19:01:08 +0000
commit72dacec4b5571695d9b5bc57256ced99bc7ecea9 (patch)
treed27d3343ff77682fa2990f64c2b51d9a913c866f
parentbe580bd14c0f5cf56ef6bb4928e18b26fbc939d0 (diff)
downloadpygtk-72dacec4b5571695d9b5bc57256ced99bc7ecea9.tar.gz
mask out G_SIGNAL_TYPE_STATIC_SCOPE to fix signal emission.
2001-10-05 Matt Wilson <msw@redhat.com> * gobjectmodule.c (pygobject_emit): mask out G_SIGNAL_TYPE_STATIC_SCOPE to fix signal emission.
-rw-r--r--ChangeLog11
-rw-r--r--gobject/gobjectmodule.c7
-rw-r--r--gobjectmodule.c7
3 files changed, 17 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index b6306df9..1ab1b3fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-05 Matt Wilson <msw@redhat.com>
+
+ * gobjectmodule.c (pygobject_emit): mask out
+ G_SIGNAL_TYPE_STATIC_SCOPE to fix signal emission.
+
2001-10-05 Johan Dahlin <zilch.am@home.se>
* gobjectmodule.c (pyg_closure_new): Handle non-Tuple parameters.
@@ -5,8 +10,10 @@
* gtk/gtk.override (_wrap_gtk_window_list_toplevels): Bound
(_wrap_gtk_toolbar_insert_stock): Bound.
- * gtk/gtk.defs (binding_entry_clear): rename from gtk_bindings_entry_clear
- (color_selection_palette_from_string): rename from gtk_color_selection_palette_from_string
+ * gtk/gtk.defs (binding_entry_clear): rename from
+ gtk_bindings_entry_clear
+ (color_selection_palette_from_string): rename from
+ gtk_color_selection_palette_from_string
(set_border_width): Added
(set_resize_mode): Added
(get_children): Added
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index b5b99ce8..ee76f47d 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -1534,7 +1534,8 @@ pygobject_emit(PyGObject *self, PyObject *args)
g_value_set_object(&params[0], G_OBJECT(self->obj));
for (i = 0; i < query.n_params; i++)
- g_value_init(&params[i + 1], query.param_types[i]);
+ g_value_init(&params[i + 1],
+ query.param_types[i] & ~G_SIGNAL_TYPE_STATIC_SCOPE);
for (i = 0; i < query.n_params; i++) {
PyObject *item = PyTuple_GetItem(args, i+1);
@@ -1553,12 +1554,12 @@ pygobject_emit(PyGObject *self, PyObject *args)
}
}
if (query.return_type != G_TYPE_NONE)
- g_value_init(&ret, query.return_type);
+ g_value_init(&ret, query.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE);
g_signal_emitv(params, signal_id, detail, &ret);
for (i = 0; i < query.n_params + 1; i++)
g_value_unset(&params[i]);
g_free(params);
- if (query.return_type != G_TYPE_NONE) {
+ if (query.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE != G_TYPE_NONE) {
py_ret = pyg_value_as_pyobject(&ret);
g_value_unset(&ret);
} else {
diff --git a/gobjectmodule.c b/gobjectmodule.c
index b5b99ce8..ee76f47d 100644
--- a/gobjectmodule.c
+++ b/gobjectmodule.c
@@ -1534,7 +1534,8 @@ pygobject_emit(PyGObject *self, PyObject *args)
g_value_set_object(&params[0], G_OBJECT(self->obj));
for (i = 0; i < query.n_params; i++)
- g_value_init(&params[i + 1], query.param_types[i]);
+ g_value_init(&params[i + 1],
+ query.param_types[i] & ~G_SIGNAL_TYPE_STATIC_SCOPE);
for (i = 0; i < query.n_params; i++) {
PyObject *item = PyTuple_GetItem(args, i+1);
@@ -1553,12 +1554,12 @@ pygobject_emit(PyGObject *self, PyObject *args)
}
}
if (query.return_type != G_TYPE_NONE)
- g_value_init(&ret, query.return_type);
+ g_value_init(&ret, query.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE);
g_signal_emitv(params, signal_id, detail, &ret);
for (i = 0; i < query.n_params + 1; i++)
g_value_unset(&params[i]);
g_free(params);
- if (query.return_type != G_TYPE_NONE) {
+ if (query.return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE != G_TYPE_NONE) {
py_ret = pyg_value_as_pyobject(&ret);
g_value_unset(&ret);
} else {