P&S router: fix unguarded boost optional derefernce. (fixes lp:1427880)
This commit is contained in:
parent
b580ef70c5
commit
5f1c9060ac
|
@ -638,14 +638,17 @@ void PNS_DP_GATEWAYS::BuildGeneric( const VECTOR2I& p0_p, const VECTOR2I& p0_n,
|
||||||
// are on the same straight/diagonal line
|
// are on the same straight/diagonal line
|
||||||
for( int k = 0; k < 2; k++ )
|
for( int k = 0; k < 2; k++ )
|
||||||
{
|
{
|
||||||
m = *ips[k];
|
if (ips[k] )
|
||||||
if( m && *m != p0_p && *m != p0_n )
|
|
||||||
{
|
{
|
||||||
int prio = ( padDist > padToGapThreshold * m_gap ? 10 : 20 );
|
const VECTOR2I m ( *ips[k] );
|
||||||
VECTOR2I g_p( ( p0_p - *m ).Resize( (double) m_gap * M_SQRT1_2 ) );
|
if( m != p0_p && m != p0_n )
|
||||||
VECTOR2I g_n( ( p0_n - *m ).Resize( (double) m_gap * M_SQRT1_2 ) );
|
{
|
||||||
|
int prio = ( padDist > padToGapThreshold * m_gap ? 10 : 20 );
|
||||||
|
VECTOR2I g_p( ( p0_p - m ).Resize( (double) m_gap * M_SQRT1_2 ) );
|
||||||
|
VECTOR2I g_n( ( p0_n - m ).Resize( (double) m_gap * M_SQRT1_2 ) );
|
||||||
|
|
||||||
m_gateways.push_back( PNS_DP_GATEWAY( *m + g_p, *m + g_n, k == 0 ? true : false, DIRECTION_45::ANG_OBTUSE, prio ) );
|
m_gateways.push_back( PNS_DP_GATEWAY( m + g_p, m + g_n, k == 0 ? true : false, DIRECTION_45::ANG_OBTUSE, prio ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue