void AnimController::_notification(int p_notification) { switch (p_notification) { case NOTIFICATION_FIXED_PROCESS: { float fixed_delta = get_fixed_process_delta_time(); Vector<String> keys; for (Map<String, float >::Element *E = remove_counts.front(); E; E = E->next()) { float time = E->value(); time -= fixed_delta; if (time <= 0) { keys.push_back(E->key()); }else { E->value() = time; } } for (int n = 0, t = keys.size(); n < t; n++) { remove_status(keys[n]); } if (_changed) { _changed = false; _status_changed(added_anims, removed_anims); if (get_script_instance()) { get_script_instance()->call_multilevel("_status_changed", added_anims, removed_anims); } added_anims.clear(); removed_anims.clear(); } }; } }
static void presence_chooser_constructed (GObject *self) { PresenceChooserPrivate *priv = GET_PRIVATE (self); g_signal_connect_swapped (priv->account, "status-changed", G_CALLBACK (_status_changed), self); _status_changed (PRESENCE_CHOOSER (self), 0, tp_account_get_connection_status (priv->account, NULL), 0, priv->account); }