kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #00774
Re: DRC Abort Button
Dick H. a écrit :
Jean-Pierre,
There is an abort button on the DRC dialog. I don't think it can ever
be functional because the event dispatching thread within KICAD is the
one used to do the DRC check, so how would it ever be able to get the
button click?
The only way I see this working is to somehow poll the event queue
(don't know of wxWidgets allows this) within the DRC tests, or to do
the DRC tests on a different thread.
wxWidgets allows this by calling wxYield().
in Drc() a periodic call to wxYield() is made and the event queue is
proceded.
the static bool AbortDrc is set to TRUE by the event function, and is
tested after a call to wxYield().
This is a dangerous way because any event can be proceded and not only
the button event..
Neither of these is worth the work in my opinion. Therefore I would
like to remove this button, since it appears to me to be
non-functional by necessity. Do you have any objections?
Dick
In fact this button works, but if we close the Drc frame while a drc
calculation is in progress (after a call to wxYield())
pcbnew can crashes because the dialog frame is closed and destroyed, but
Drc() is running and uses it ...
This is noticeable only with very large designes (I tested this with a
4000 pads and 14000 track segments).
So, because computers are faster and faster this button is now not very
usefull and even dangerous, and can be removed.
--
Jean-Pierre CHARRAS
Maître de conférences
Directeur d'études 2ieme année.
Génie Electrique et Informatique Industrielle 2
Institut Universitaire de Technologie 1 de Grenoble
BP 67, 38402 St Martin d'Heres Cedex
Recherche :
Grenoble Image Parole Signal Automatique (GIPSA - INPG)
46, Avenue Félix Viallet
38031 Grenoble Cedex
Follow ups
References