Changeset 23639


Ignore:
Timestamp:
01/17/19 08:27:50 (6 years ago)
Author:
Mathieu Morlighem
Message:

BUG: forgot to marshall and copy new fields

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Vertices.cpp

    r23638 r23639  
    6161        /*Copy dataset*/
    6262        Vertices* output=new Vertices();
    63         output->sorted=this->sorted;
    64         output->numsorted=this->numsorted;
    65         output->presorted=this->presorted;
    66         for(vector<Object*>::iterator obj=this->objects.begin() ; obj < this->objects.end(); obj++ ){
    67                 output->AddObject((*obj)->copy());
    68         }
     63        output->sorted    = this->sorted;
     64        output->numsorted = this->numsorted;
     65        output->presorted = this->presorted;
     66        for(vector<Object*>::iterator obj=this->objects.begin() ; obj < this->objects.end(); obj++ ) output->AddObject((*obj)->copy());
    6967
    7068        /*Build id_offsets and sorted_ids*/
     69        output->id_offsets=NULL;
     70        output->sorted_ids=NULL;
    7171        int objsize = this->numsorted;
    7272        if(this->sorted && objsize>0 && this->id_offsets){     
    73                 /*Allocate new ids*/
    7473                output->id_offsets=xNew<int>(objsize);
    7574                xMemCpy<int>(output->id_offsets,this->id_offsets,objsize);
    7675        }
    77         else output->id_offsets=NULL;
    7876        if(this->sorted && objsize>0 && this->sorted_ids){
    79                 /*Allocate new ids*/
    8077                output->sorted_ids=xNew<int>(objsize);
    8178                xMemCpy<int>(output->sorted_ids,this->sorted_ids,objsize);
    8279        }
    83         else output->sorted_ids=NULL;
    84 
     80
     81        /*Copy other fields*/
     82        output->numberofvertices       = this->numberofvertices;
     83        output->numberofvertices_local = this->numberofvertices_local;
     84        output->numberofmasters_local  = this->numberofmasters_local;
    8585
    8686        if(this->common_recv){
     
    115115        int test = num_procs;
    116116        MARSHALLING_ENUM(VerticesEnum);
     117        MARSHALLING(numberofvertices);
     118        MARSHALLING(numberofvertices_local);
     119        MARSHALLING(numberofmasters_local);
    117120        MARSHALLING(test);
    118121        if(test!=num_procs) _error_("number of cores is not the same as before");
Note: See TracChangeset for help on using the changeset viewer.