diff --git a/Documentation/compiling/COMPILING.txt b/Documentation/compiling/COMPILING.txt index 0b03de8f82..9610358124 100644 --- a/Documentation/compiling/COMPILING.txt +++ b/Documentation/compiling/COMPILING.txt @@ -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 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 - - - -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: diff --git a/pcbnew/move-drag_pads.cpp b/pcbnew/move-drag_pads.cpp index d2da3d5351..a17e701860 100644 --- a/pcbnew/move-drag_pads.cpp +++ b/pcbnew/move-drag_pads.cpp @@ -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 );