diff options
Diffstat (limited to 'recordmydesktop')
| -rw-r--r-- | recordmydesktop/src/get_frame.c | 2 | ||||
| -rw-r--r-- | recordmydesktop/src/initialize_data.c | 3 | ||||
| -rw-r--r-- | recordmydesktop/src/rectinsert.c | 10 | 
3 files changed, 10 insertions, 5 deletions
diff --git a/recordmydesktop/src/get_frame.c b/recordmydesktop/src/get_frame.c index 16eef83..0f934b8 100644 --- a/recordmydesktop/src/get_frame.c +++ b/recordmydesktop/src/get_frame.c @@ -245,6 +245,8 @@ void *GetFrame(ProgData *pdata){                          pdata->shm_opcode,                          pdata->args.no_quick_subsample);              BlocksFromList(&pdata->rect_root[tlist_sel], +                           pdata->brwin.rgeom.x, +                           pdata->brwin.rgeom.y,                             pdata->enc_data->yuv.y_width/Y_UNIT_WIDTH,                             pdata->enc_data->yuv.y_height/Y_UNIT_WIDTH);              pthread_mutex_unlock(&pdata->yuv_mutex); diff --git a/recordmydesktop/src/initialize_data.c b/recordmydesktop/src/initialize_data.c index 2ceb026..69cfad0 100644 --- a/recordmydesktop/src/initialize_data.c +++ b/recordmydesktop/src/initialize_data.c @@ -58,7 +58,8 @@ int InitializeData(ProgData *pdata,                                                &pdata->npxl);          pdata->dummy_p_size=16;      } - +    else +        pdata->dummy_p_size=0;      pdata->rect_root[0]=pdata->rect_root[1]=NULL; diff --git a/recordmydesktop/src/rectinsert.c b/recordmydesktop/src/rectinsert.c index b46ec1f..10d9841 100644 --- a/recordmydesktop/src/rectinsert.c +++ b/recordmydesktop/src/rectinsert.c @@ -512,6 +512,8 @@ void ClearList(RectArea **root){  }  void BlocksFromList(RectArea **root, +                    unsigned int x_offset, +                    unsigned int y_offset,                      unsigned int blocknum_x,                      unsigned int blocknum_y){ @@ -529,10 +531,10 @@ void BlocksFromList(RectArea **root,      }      while(temp!=NULL){ -        column_start=temp->geom.x/Y_UNIT_WIDTH; -        column_end=(temp->geom.x+temp->geom.width)/Y_UNIT_WIDTH; -        row_start=temp->geom.y/Y_UNIT_WIDTH; -        row_end=(temp->geom.y+temp->geom.height)/Y_UNIT_WIDTH; +        column_start=(temp->geom.x-x_offset)/Y_UNIT_WIDTH; +        column_end=(temp->geom.x+temp->geom.width-x_offset)/Y_UNIT_WIDTH; +        row_start=(temp->geom.y-y_offset)/Y_UNIT_WIDTH; +        row_end=(temp->geom.y+temp->geom.height-y_offset)/Y_UNIT_WIDTH;          for(i=row_start;i<row_end+1;i++){              for(j=column_start;j<column_end+1;j++){                  blockno=i*blocknum_x+j;  | 
