mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
Run the accumulator function for RUN_CLEANUP object handlers too
Closes issue #512
This commit is contained in:
parent
1f79c7f7c0
commit
153ac4c82a
@ -3759,9 +3759,14 @@ signal_emit_unlocked_R (SignalNode *node,
|
||||
node->n_params + 1,
|
||||
instance_and_params,
|
||||
&emission.ihint);
|
||||
if (!accumulate (&emission.ihint, emission_return, &accu, accumulator) &&
|
||||
emission.state == EMISSION_RUN)
|
||||
emission.state = EMISSION_STOP;
|
||||
if (need_unset)
|
||||
g_value_unset (&accu);
|
||||
SIGNAL_LOCK ();
|
||||
return_value_altered = TRUE;
|
||||
|
||||
emission.chain_type = G_TYPE_NONE;
|
||||
|
||||
if (emission.state == EMISSION_RESTART)
|
||||
|
@ -416,7 +416,7 @@ main (int argc,
|
||||
g_print ("MAIN: emit test-signal:\n");
|
||||
g_signal_emit_by_name (dobject, "test-signal", sigarg, NULL, &string);
|
||||
g_message ("signal return: \"%s\"", string);
|
||||
g_assert (strcmp (string, "<default_handler><default_handler>") == 0);
|
||||
g_assert_cmpstr (string, ==, "<default_handler><default_handler><default_handler>");
|
||||
g_free (string);
|
||||
|
||||
g_print ("MAIN: call iface print-string on test and derived object:\n");
|
||||
|
Loading…
Reference in New Issue
Block a user