diff --git a/src/app-utils/gnc-sx-instance-model.c b/src/app-utils/gnc-sx-instance-model.c index 018e1fcd47..de57c17ad9 100644 --- a/src/app-utils/gnc-sx-instance-model.c +++ b/src/app-utils/gnc-sx-instance-model.c @@ -1053,6 +1053,12 @@ gnc_sx_instance_model_effect_change(GncSxInstanceModel *model, gint instance_count = 0; gint remain_occur_count = 0; + // If there are no instances, then skip; specifically, skip + // re-setting SchedXaction fields, which will dirty the book + // spuriously. + if (g_list_length(instances->list) == 0) + continue; + last_occur_date = xaccSchedXactionGetLastOccurDate(instances->sx); instance_count = gnc_sx_get_instance_count(instances->sx, NULL); remain_occur_count = xaccSchedXactionGetRemOccur(instances->sx); diff --git a/src/doc/sx.rst b/src/doc/sx.rst index 8f6cf4d0dd..c01467d6ba 100644 --- a/src/doc/sx.rst +++ b/src/doc/sx.rst @@ -48,6 +48,7 @@ TODO - [ ] check variables-unbound logic - [ ] verify summary counts - [ ] check "since last run" states + - [ ] specious datafile dirty-ing? - [ ] -autocreate[, ±notify] - [ ] +autocreate, -notify - [ ] +autocreate, +notify @@ -57,8 +58,6 @@ TODO - [?] Expired scheduled transactions never run - - bugs - - [ ] specious datafile dirty-ing? - - [ ] with SLR open (with instances), add variables to SX; only newly-created instances will have appropriate variable tables. ! - [ ] crash with two sx lists open and SX mutation