diff options
| author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2018-03-19 19:55:58 +0100 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2018-03-19 19:55:58 +0100 | 
| commit | d1a8285f818eb7e5c3d6a05709ea21a808490b8c (patch) | |
| tree | 326578f0505cbed07cfe60de530022822dc237ac /app/bin/cblock.c | |
| parent | 16e9630b79f0a7a90c6cedb6781175bb8b337dc1 (diff) | |
New upstream version 5.1.0upstream/5.1.0
Diffstat (limited to 'app/bin/cblock.c')
| -rw-r--r-- | app/bin/cblock.c | 31 | 
1 files changed, 23 insertions, 8 deletions
| diff --git a/app/bin/cblock.c b/app/bin/cblock.c index 3c627e9..b1b14a8 100644 --- a/app/bin/cblock.c +++ b/app/bin/cblock.c @@ -47,10 +47,19 @@   */  #include <ctype.h> -#include "track.h" -#include "trackx.h" +#include <stdlib.h> +#include <string.h> +  #include "compound.h" +#include "cundo.h" +#include "custom.h" +#include "fileio.h"  #include "i18n.h" +#include "messages.h" +#include "param.h" +#include "track.h" +#include "trackx.h" +#include "utility.h"  EXPORT TRKTYP_T T_BLOCK = -1; @@ -151,8 +160,8 @@ static descData_t blockDesc[] = {  /*NM*/	{ DESC_STRING, N_("Name"), &blockData.name },  /*SC*/  { DESC_STRING, N_("Script"), &blockData.script },  /*LN*/  { DESC_DIM, N_("Length"), &blockData.length }, -/*E0*/	{ DESC_POS, N_("End Pt 1: X"), &blockData.endPt[0] }, -/*E1*/	{ DESC_POS, N_("End Pt 2: X"), &blockData.endPt[1] }, +/*E0*/	{ DESC_POS, N_("End Pt 1: X,Y"), &blockData.endPt[0] }, +/*E1*/	{ DESC_POS, N_("End Pt 2: X,Y"), &blockData.endPt[1] },  	{ DESC_NULL } };  static void UpdateBlock (track_p trk, int inx, descData_p descUpd, BOOL_T needUndoStart ) @@ -196,12 +205,18 @@ static DIST_T DistanceBlock (track_p t, coOrd * p )  	blockData_p xx = GetblockData(t);  	DIST_T closest, current;  	int iTrk = 1; - -	closest = GetTrkDistance ((&(xx->trackList))[0].t, *p); +	coOrd pos = *p; +	closest = GetTrkDistance ((&(xx->trackList))[0].t, &pos); +	coOrd best_pos = pos;  	for (; iTrk < xx->numTracks; iTrk++) { -		current = GetTrkDistance ((&(xx->trackList))[iTrk].t, *p); -		if (current < closest) closest = current; +		pos = *p; +		current = GetTrkDistance ((&(xx->trackList))[iTrk].t, &pos); +		if (current < closest) { +			closest = current; +			best_pos = pos; +		}  	} +	*p = best_pos;  	return closest;  } | 
