Index: branches/unlabeled/unlabeled-1.25.2/core/kernel/utility/temp_handler.php =================================================================== diff -u -r5616 -r5618 --- branches/unlabeled/unlabeled-1.25.2/core/kernel/utility/temp_handler.php (.../temp_handler.php) (revision 5616) +++ branches/unlabeled/unlabeled-1.25.2/core/kernel/utility/temp_handler.php (.../temp_handler.php) (revision 5618) @@ -439,12 +439,14 @@ } } - function DoCopyTempToOriginal($master, $parent_prefix=null) + function DoCopyTempToOriginal($master, $parent_prefix = null, $current_ids = Array()) { - $query = 'SELECT '.$master['IdField'].' FROM '.$this->GetTempName($master['TableName']); - if (isset($master['Constrain'])) $query .= ' WHERE '.$master['Constrain']; - $current_ids = $this->Conn->GetCol($query); - + if (!$current_ids) { + $query = 'SELECT '.$master['IdField'].' FROM '.$this->GetTempName($master['TableName']); + if (isset($master['Constrain'])) $query .= ' WHERE '.$master['Constrain']; + $current_ids = $this->Conn->GetCol($query); + } + $table_sig = $master['TableName'].(isset($master['Constrain']) ? $master['Constrain'] : ''); if ($current_ids) { @@ -632,9 +634,9 @@ $this->DoCopyLiveToTemp($this->Tables, $this->Tables['IDs']); } - function SaveEdit($skip_master=0) + function SaveEdit($master_ids = Array()) { - $this->DoCopyTempToOriginal($this->Tables); + $this->DoCopyTempToOriginal($this->Tables, null, $master_ids); } function CancelEdit($master=null)