X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fhb-transaction.c;h=eb825093e8b674239d7c4a3c4a326cde61e1d7bd;hb=35b9973e4de7d69ad8841ead996a2e6cf1d85f08;hp=29812d9ce5e1050640b55f05998c512d66a95c0a;hpb=d11c8dd3275ed2a4a35598e69c0804dcf9435766;p=chaz%2Fhomebank diff --git a/src/hb-transaction.c b/src/hb-transaction.c index 29812d9..eb82509 100644 --- a/src/hb-transaction.c +++ b/src/hb-transaction.c @@ -23,6 +23,9 @@ #include "hb-tag.h" #include "hb-split.h" +#include "ext.h" +#include "refcount.h" + /****************************************************************************/ /* Debug macros */ /****************************************************************************/ @@ -78,10 +81,10 @@ da_transaction_clean(Transaction *item) void da_transaction_free(Transaction *item) { - if(item != NULL) + if(rc_unref(item)) { da_transaction_clean(item); - g_free(item); + rc_free(item); } } @@ -89,7 +92,7 @@ da_transaction_free(Transaction *item) Transaction * da_transaction_malloc(void) { - return g_malloc0(sizeof(Transaction)); + return rc_alloc(sizeof(Transaction)); } @@ -139,7 +142,7 @@ Transaction *da_transaction_init_from_template(Transaction *txn, Archive *arc) Transaction *da_transaction_clone(Transaction *src_item) { -Transaction *new_item = g_memdup(src_item, sizeof(Transaction)); +Transaction *new_item = rc_dup(src_item, sizeof(Transaction)); DB( g_print("da_transaction_clone\n") ); @@ -512,6 +515,9 @@ gchar swap; account_balances_add (child); + GValue txn_value = G_VALUE_INIT; + ext_hook("transaction_inserted", EXT_TRANSACTION(&txn_value, child), NULL); + } } @@ -946,6 +952,9 @@ Account *acc; { transaction_xfer_search_or_add_child(NULL, newope, FALSE); } + + GValue txn_value = G_VALUE_INIT; + ext_hook("transaction_inserted", EXT_TRANSACTION(&txn_value, newope), NULL); } return newope;