示例#1
0
static gboolean
transform_release (YelpTransform *transform)
{
    printf ("\nRELEASE\n");
    if (!freed) {
	yelp_transform_cancel (transform);
	g_object_unref (transform);
    }
    freed = TRUE;
    return FALSE;
}
示例#2
0
static void
transform_finished (YelpTransform *transform,
		    gpointer       user_data)
{
    printf ("\nFINAL\n");
    if (!freed) {
	yelp_transform_cancel (transform);
	g_object_unref (transform);
    }
    freed = TRUE;
}
static void
info_document_disconnect (YelpInfoDocument *info)
{
    YelpInfoDocumentPrivate *priv = GET_PRIV (info);
    if (priv->chunk_ready) {
        g_signal_handler_disconnect (priv->transform, priv->chunk_ready);
        priv->chunk_ready = 0;
    }
    if (priv->finished) {
        g_signal_handler_disconnect (priv->transform, priv->finished);
        priv->finished = 0;
    }
    if (priv->error) {
        g_signal_handler_disconnect (priv->transform, priv->error);
        priv->error = 0;
    }
    yelp_transform_cancel (priv->transform);
    g_object_unref (priv->transform);
    priv->transform = NULL;
    priv->transform_running = FALSE;
}