Pcbnew: fix a crash when aborting a pad move or drag in board editor
This commit is contained in:
parent
7b8b51b240
commit
c1347bbe35
|
@ -69,17 +69,6 @@ files in /mingw/include and library link files in /mingw/lib. You can install
|
|||
path by setting --prefix=/mingw to configure above to change where "make install"
|
||||
puts everything. We will refer to the --prefix setting as <wxInstallDir> below.
|
||||
|
||||
If you are planning to enable the USE_WX_GRAPHICS_CONTEXT option (see options
|
||||
section below) on Windows using MinGW/MSYS you must build wxWidgets with the
|
||||
--enable-graphics_ctx switch added to the build configurations above.
|
||||
Unfortunately it is not quite that simple because MinGW does not define the
|
||||
Gdi+ header and link library files. First you must download the required Gdi+
|
||||
development files from
|
||||
|
||||
<http://www.miscdebris.net/blog/2009/09/17/adding-gdi-headers-to-mingw-to-compile-wxwidgets-with-wxgraphicscontext-support/>
|
||||
|
||||
and unzip them where MinGW is installed.
|
||||
|
||||
Verify that wx-config is in your path. Modify your PATH environment variable
|
||||
if need be so you can run wx-config from a command prompt. You may have to
|
||||
restart your msys shell, depending on how you modify your PATH.
|
||||
|
@ -210,13 +199,10 @@ These should be set from command line:
|
|||
|
||||
KICAD_MINIZIP ON/OFF
|
||||
|
||||
USE_WX_ZOOM ON/OFF (OPTIONAL)
|
||||
Experimental coordinate translation code using wxDC instead of custom
|
||||
Kicad version.
|
||||
|
||||
USE_WX_GRAPHICS_CONTEXT ON/OFF (OPTIONAL)
|
||||
Experimental advanced drawing library code using wxGraphicsContext. It
|
||||
requires wxWidgets to be built with the --enable-graphics_ctx switch.
|
||||
*Experimental* advanced drawing library code using wxGraphicsContext (for tests only).
|
||||
Under Windows, a very recent version of mingw is needed.
|
||||
It requires wxWidgets to be built with the --enable-graphics_ctx switch.
|
||||
See building wxWidgets above.
|
||||
|
||||
Note: that it is easy to build only a specific binary such as pcbnew alone:
|
||||
|
|
|
@ -22,7 +22,7 @@ static wxPoint Pad_OldPos;
|
|||
|
||||
/* Cancel move pad command.
|
||||
*/
|
||||
static void Exit_Move_Pad( EDA_DRAW_PANEL* Panel, wxDC* DC )
|
||||
static void Abort_Move_Pad( EDA_DRAW_PANEL* Panel, wxDC* DC )
|
||||
{
|
||||
D_PAD* pad = s_CurrentSelectedPad;
|
||||
|
||||
|
@ -62,6 +62,9 @@ static void Show_Pad_Move( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPo
|
|||
BASE_SCREEN* screen = aPanel->GetScreen();
|
||||
D_PAD* pad = s_CurrentSelectedPad;
|
||||
|
||||
if( pad == NULL ) // Should not occur
|
||||
return;
|
||||
|
||||
if( aErase )
|
||||
pad->Draw( aPanel, aDC, GR_XOR );
|
||||
|
||||
|
@ -277,7 +280,7 @@ void WinEDA_BasePcbFrame::StartMovePad( D_PAD* Pad, wxDC* DC )
|
|||
s_CurrentSelectedPad = Pad;
|
||||
Pad_OldPos = Pad->m_Pos;
|
||||
Pad->DisplayInfo( this );
|
||||
DrawPanel->SetMouseCapture( Show_Pad_Move, Exit_Move_Pad );
|
||||
DrawPanel->SetMouseCapture( Show_Pad_Move, Abort_Move_Pad );
|
||||
|
||||
/* Draw the pad (SKETCH mode) */
|
||||
Pad->Draw( DrawPanel, DC, GR_XOR );
|
||||
|
|
Loading…
Reference in New Issue