Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
c580d5d7
Commit
c580d5d7
authored
Jun 28, 2010
by
jean-pierre charras
Committed by
jp
Jun 28, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed a serious bug in zone filling, for pads with drill but not on all layers
parent
af7c26e8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
32 additions
and
18 deletions
+32
-18
class_netlist_object.cpp
eeschema/class_netlist_object.cpp
+1
-1
erc.cpp
eeschema/erc.cpp
+19
-15
netlist_control.cpp
eeschema/netlist_control.cpp
+9
-0
zones_convert_brd_items_to_polygons.cpp
pcbnew/zones_convert_brd_items_to_polygons.cpp
+3
-2
No files found.
eeschema/class_netlist_object.cpp
View file @
c580d5d7
...
...
@@ -81,7 +81,7 @@ void NETLIST_OBJECT::Show( std::ostream& out, int ndx )
out
<<
" <start "
<<
m_Start
<<
"/> <end "
<<
m_End
<<
"/>
\n
"
;
if
(
m_Label
)
if
(
!
m_Label
.
IsEmpty
()
)
out
<<
" <label>"
<<
m_Label
.
mb_str
()
<<
"</label>
\n
"
;
if
(
m_Comp
)
...
...
eeschema/erc.cpp
View file @
c580d5d7
...
...
@@ -174,8 +174,11 @@ static int MinimalReq[PIN_NMAX][PIN_NMAX] =
/** Function TestDuplicateSheetNames( )
* inside a given sheet, one cannot have sheets with duplicate names (file
* names can be duplicated).
* @return the error count
* @param aCreateMarker: true = create error markers in schematic,
* false = calculate error count only
*/
int
TestDuplicateSheetNames
()
int
TestDuplicateSheetNames
(
bool
aCreateMarker
)
{
int
err_count
=
0
;
EDA_ScreenList
ScreenList
;
// Created the list of screen
...
...
@@ -203,17 +206,20 @@ int TestDuplicateSheetNames()
(
(
SCH_SHEET
*
)
item_to_test
)
->
m_SheetName
)
==
0
)
{
/* Create a new marker type ERC error*/
SCH_MARKER
*
Marker
=
new
SCH_MARKER
();
Marker
->
m_TimeStamp
=
GetTimeStamp
();
Marker
->
SetData
(
ERCE_DUPLICATE_SHEET_NAME
,
(
(
SCH_SHEET
*
)
item_to_test
)
->
m_Pos
,
_
(
"Duplicate Sheet name"
),
(
(
SCH_SHEET
*
)
item_to_test
)
->
m_Pos
);
Marker
->
SetMarkerType
(
MARK_ERC
);
Marker
->
SetErrorLevel
(
ERR
);
Marker
->
SetNext
(
Screen
->
EEDrawList
);
Screen
->
EEDrawList
=
Marker
;
if
(
aCreateMarker
)
{
/* Create a new marker type ERC error*/
SCH_MARKER
*
Marker
=
new
SCH_MARKER
();
Marker
->
m_TimeStamp
=
GetTimeStamp
();
Marker
->
SetData
(
ERCE_DUPLICATE_SHEET_NAME
,
(
(
SCH_SHEET
*
)
item_to_test
)
->
m_Pos
,
_
(
"Duplicate Sheet name"
),
(
(
SCH_SHEET
*
)
item_to_test
)
->
m_Pos
);
Marker
->
SetMarkerType
(
MARK_ERC
);
Marker
->
SetErrorLevel
(
ERR
);
Marker
->
SetNext
(
Screen
->
EEDrawList
);
Screen
->
EEDrawList
=
Marker
;
}
err_count
++
;
}
}
...
...
@@ -279,9 +285,8 @@ void DIALOG_ERC::TestErc( wxArrayString* aMessagesList )
* inside a given sheet, one cannot have sheets with duplicate names (file
* names can be duplicated).
*/
int
errcnt
=
TestDuplicateSheetNames
();
int
errcnt
=
TestDuplicateSheetNames
(
true
);
g_EESchemaVar
.
NbErrorErc
+=
errcnt
;
g_EESchemaVar
.
NbWarningErc
+=
errcnt
;
m_Parent
->
BuildNetListBase
();
...
...
@@ -290,7 +295,6 @@ void DIALOG_ERC::TestErc( wxArrayString* aMessagesList )
for
(
unsigned
ii
=
0
;
ii
<
g_NetObjectslist
.
size
();
ii
++
)
g_NetObjectslist
[
ii
]
->
m_FlagOfConnection
=
UNCONNECTED
;
StartNet
=
OldItem
=
0
;
NetNbItems
=
0
;
MinConn
=
NOC
;
...
...
eeschema/netlist_control.cpp
View file @
c580d5d7
...
...
@@ -24,6 +24,8 @@
#include "protos.h"
#include "netlist_control.h"
//Imported function:
int
TestDuplicateSheetNames
(
bool
aCreateMarker
);
// ID for configuration:
#define CUSTOM_NETLIST_TITLE wxT( "CustomNetlistTitle" )
...
...
@@ -492,6 +494,13 @@ void WinEDA_NetlistFrame::GenNetlist( wxCommandEvent& event )
return
;
}
// Test duplicate sheet names:
if
(
TestDuplicateSheetNames
(
false
)
>
0
)
{
if
(
!
IsOK
(
this
,
_
(
"Error: duplicate sheet names. Continue?"
)
)
)
return
;
}
/* Cleanup the entire hierarchy */
EDA_ScreenList
ScreenList
;
for
(
SCH_SCREEN
*
screen
=
ScreenList
.
GetFirst
();
...
...
pcbnew/zones_convert_brd_items_to_polygons.cpp
View file @
c580d5d7
...
...
@@ -216,11 +216,12 @@ void ZONE_CONTAINER::AddClearanceAreasPolygonsToPolysList( BOARD* aPcb )
have_poly_to_substract
=
false
;
D_PAD
dummyPad
((
MODULE
*
)
NULL
);
D_PAD
*
nextpad
;
for
(
MODULE
*
module
=
aPcb
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
{
for
(
D_PAD
*
pad
=
module
->
m_Pads
;
pad
!=
NULL
;
pad
=
pad
->
Next
()
)
for
(
D_PAD
*
pad
=
module
->
m_Pads
;
pad
!=
NULL
;
pad
=
nextpad
)
{
nextpad
=
pad
->
Next
();
// pad pointer can be modified by next code, so calculate the next pad here
if
(
!
pad
->
IsOnLayer
(
GetLayer
()
)
)
{
/* Test fo pads that are on top or bottom only and have a hole.
* There are curious pads but they can be used for some components that are inside the
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment