[Transaction.cpp] small modification to xaccTransSetReadOnly

if reason is "" then remove the kvp
pull/2107/head
Christopher Lam 10 months ago
parent 23a2e091c7
commit 7e740babdf

@ -2015,16 +2015,7 @@ void
xaccTransSetReadOnly (Transaction *trans, const char *reason)
{
if (trans && reason)
{
GValue v = G_VALUE_INIT;
g_value_init (&v, G_TYPE_STRING);
g_value_set_static_string (&v, reason);
xaccTransBeginEdit(trans);
qof_instance_set_kvp (QOF_INSTANCE (trans), &v, 1, TRANS_READ_ONLY_REASON);
qof_instance_set_dirty(QOF_INSTANCE(trans));
g_value_unset (&v);
xaccTransCommitEdit(trans);
}
set_kvp_string_path (trans, {TRANS_READ_ONLY_REASON}, reason);
}
/********************************************************************\

@ -1764,8 +1764,8 @@ test_xaccTransGetReadOnly (Fixture *fixture, gconstpointer pData)
g_assert_null (frame->get_slot({TRANS_READ_ONLY_REASON}));
xaccTransSetReadOnly (txn, "");
g_assert_cmpstr (xaccTransGetReadOnly (txn), ==, "");
g_assert_cmpstr (frame->get_slot({TRANS_READ_ONLY_REASON})->get<const char*>(), ==, "");
g_assert_cmpstr (xaccTransGetReadOnly (txn), ==, nullptr);
g_assert_null (frame->get_slot({TRANS_READ_ONLY_REASON}));
xaccTransClearReadOnly (txn);
g_assert_null (frame->get_slot({TRANS_READ_ONLY_REASON}));

Loading…
Cancel
Save