I've experienced a crash with pcbnew when trying to end a track using the popup-menu, that doesn't happen when using the "End" shortcut.
Seems that in the refresh the method ShowNewTrackWhenMovingCursor() finds an empty g_CurrentTrackList and crashes when trying to set the layer to a noexisting track.
I've workarounded in the following way, probably someone with a deeper knowledge of the codebase could find a better solution.
Marco
Index: editrack.cpp
===================================================================
--- editrack.cpp (revision 1676)
+++ editrack.cpp (working copy)
@@ -683,6 +683,9 @@
( (WinEDA_BasePcbFrame*) (panel->m_Parent) )->trace_ratsnest_pad( DC );
}
+ if(g_CurrentTrackList.GetCount() == 0)
+ return;
+
/* dessin de la nouvelle piste : mise a jour du point d'arrivee */
g_CurrentTrackSegment->SetLayer( screen->m_Active_Layer );
if( ! g_DesignSettings.m_UseConnectedTrackWidth )