@@ -1408,19 +1408,17 @@ createPackage(text *name, bool is_trans)
1408
1408
1409
1409
if (found )
1410
1410
{
1411
+ TransObject * transObj = & package -> transObject ;
1412
+
1413
+ if (!isObjectChangedInCurrentTrans (transObj ))
1414
+ createSavepoint (transObj , TRANS_PACKAGE );
1415
+
1411
1416
if (!GetActualState (package )-> is_valid )
1412
- /* Make package valid again */
1413
1417
{
1414
1418
HASH_SEQ_STATUS vstat ;
1415
1419
Variable * variable ;
1416
- TransObject * transObj = & package -> transObject ;
1417
-
1418
- /* Make new history entry of package */
1419
- if (!isObjectChangedInCurrentTrans (transObj ))
1420
- createSavepoint (transObj , TRANS_PACKAGE );
1421
1420
1422
1421
GetActualState (package )-> is_valid = true;
1423
-
1424
1422
/* Mark all transactional variables in package as removed */
1425
1423
if (package -> varHashTransact )
1426
1424
{
@@ -1448,14 +1446,14 @@ createPackage(text *name, bool is_trans)
1448
1446
package -> hctxRegular = NULL ;
1449
1447
package -> hctxTransact = NULL ;
1450
1448
initObjectHistory (& package -> transObject , TRANS_PACKAGE );
1451
- /* Add to changes list */
1452
- if (!isObjectChangedInCurrentTrans (& package -> transObject ))
1453
- addToChangesStack (& package -> transObject , TRANS_PACKAGE );
1454
1449
}
1455
1450
1456
1451
/* Create corresponding HTAB if not exists */
1457
1452
if (!pack_htab (package , is_trans ))
1458
1453
makePackHTAB (package , is_trans );
1454
+ /* Add to changes list */
1455
+ if (!isObjectChangedInCurrentTrans (& package -> transObject ))
1456
+ addToChangesStack (& package -> transObject , TRANS_PACKAGE );
1459
1457
1460
1458
return package ;
1461
1459
}
0 commit comments