diff options
Diffstat (limited to 'app/bin/ccornu.c')
| -rw-r--r-- | app/bin/ccornu.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/app/bin/ccornu.c b/app/bin/ccornu.c index 9e721d8..cd978c0 100644 --- a/app/bin/ccornu.c +++ b/app/bin/ccornu.c @@ -1997,6 +1997,11 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, } DYNARR_N(coOrd,Da.mid_points,0) = GetTrkEndPos(prior,1-ep0); Da.trk[0] = GetTrkEndTrk( prior, ep0 ); + if ( Da.trk[0] == trk ) { + // loop + ErrorMessage( "Cornu loop detected" ); + return C_ERROR; + } if (Da.trk[0]) { Da.ep[0] = GetEndPtConnectedToMe(Da.trk[0],prior); } else { Da.ep[0] = -1; } } @@ -2023,6 +2028,11 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, DYNARR_APPEND(coOrd,Da.mid_points,1); DYNARR_LAST(coOrd,Da.mid_points) = GetTrkEndPos(next,1-ep1); Da.trk[1] = GetTrkEndTrk( next, ep1 ); + if ( Da.trk[1] == trk ) { + // loop + ErrorMessage( "Cornu loop detected" ); + return C_ERROR; + } if (Da.trk[1]) { Da.ep[1] = GetEndPtConnectedToMe(Da.trk[1],next); } } @@ -2085,7 +2095,7 @@ STATUS_T CmdCornuModify (track_p trk, wAction_t action, coOrd pos, InfoMessage(_("No changes made")); Da.state = NONE; //DYNARR_FREE(trkSeg_t,Da.crvSegs_da); - return C_CANCEL; + return C_CONTINUE; } if (!CheckHelix(trk)) { wBeep(); @@ -3261,17 +3271,17 @@ static STATUS_T CmdConvertFrom( } } -#include "bitmaps/convert-to.xpm3" -#include "bitmaps/convert-from.xpm3" +#include "bitmaps/convert-to.image3" +#include "bitmaps/convert-from.image3" EXPORT void InitCmdCornu( wMenu_p menu ) { ButtonGroupBegin( _("Convert"), "cmdConvertSetCmd", _("Convert") ); AddMenuButton( menu, CmdConvertTo, "cmdConvertTo", _("Convert To Cornu"), - wIconCreatePixMap(convert_to_xpm3[iconSize]), LEVEL0_50, + wIconCreatePixMap(convert_to_image3[iconSize]), LEVEL0_50, IC_STICKY|IC_LCLICK|IC_POPUP3|IC_WANT_MOVE,ACCL_CONVERTTO, NULL ); AddMenuButton( menu, CmdConvertFrom, "cmdConvertFrom", _("Convert From Cornu"), - wIconCreatePixMap(convert_from_xpm3[iconSize]), LEVEL0_50, + wIconCreatePixMap(convert_from_image3[iconSize]), LEVEL0_50, IC_STICKY|IC_LCLICK|IC_POPUP3|IC_WANT_MOVE,ACCL_CONVERTFR, NULL ); cornuHotBarCmdInx = AddMenuButton(menu, cmdCornuCreate, "cmdCornuCreate", "", NULL, LEVEL0_50, IC_STICKY|IC_POPUP3|IC_WANT_MOVE, 0, NULL); |
