X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fhb-transaction.c;fp=src%2Fhb-transaction.c;h=966508092798840858a0a77cd74c814860eb9b59;hb=0e1e5f856e9ab5faa63fd822354781baccccbcd9;hp=0368946f9fbb4267bb383d7ace7200f70f03a6a2;hpb=236cb5e47660876f46488ea8f76ecd5bebfa1fac;p=chaz%2Fhomebank diff --git a/src/hb-transaction.c b/src/hb-transaction.c index 0368946..9665080 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 macro */ /****************************************************************************/ @@ -82,10 +85,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); } } @@ -93,7 +96,7 @@ da_transaction_free(Transaction *item) Transaction * da_transaction_malloc(void) { - return g_malloc0(sizeof(Transaction)); + return rc_alloc(sizeof(Transaction)); } @@ -152,7 +155,7 @@ 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") ); @@ -531,6 +534,9 @@ gchar swap; account_balances_add (child); + GValue txn_value = G_VALUE_INIT; + ext_hook("transaction_inserted", EXT_TRANSACTION(&txn_value, child), NULL); + } } @@ -989,6 +995,9 @@ Account *acc; { transaction_xfer_search_or_add_child(parent, newope, newope->kxferacc); } + + GValue txn_value = G_VALUE_INIT; + ext_hook("transaction_inserted", EXT_TRANSACTION(&txn_value, newope), NULL); } return newope;