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
f4d5e349
Commit
f4d5e349
authored
Feb 17, 2015
by
Wayne Stambaugh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix a bunch of Coverity scan "unhandled exception" errors.
parent
39497b10
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
135 additions
and
118 deletions
+135
-118
fp_lib_table.cpp
common/fp_lib_table.cpp
+2
-2
cvstruct.h
cvpcb/cvstruct.h
+0
-1
class_library.cpp
eeschema/class_library.cpp
+4
-3
class_library.h
eeschema/class_library.h
+4
-3
dialog_edit_component_in_schematic.cpp
eeschema/dialogs/dialog_edit_component_in_schematic.cpp
+63
-63
fp_lib_table.h
include/fp_lib_table.h
+3
-2
events_functions.cpp
pagelayout_editor/events_functions.cpp
+17
-4
kicad_plugin.cpp
pcbnew/kicad_plugin.cpp
+0
-1
legacy_netlist_reader.cpp
pcbnew/legacy_netlist_reader.cpp
+2
-1
netlist_reader.h
pcbnew/netlist_reader.h
+1
-1
pcb_parser.cpp
pcbnew/pcb_parser.cpp
+1
-1
pcb_parser.h
pcbnew/pcb_parser.h
+2
-2
specctra.cpp
pcbnew/specctra.cpp
+15
-15
specctra.h
pcbnew/specctra.h
+17
-17
specctra_export.cpp
pcbnew/specctra_export.cpp
+4
-2
No files found.
common/fp_lib_table.cpp
View file @
f4d5e349
...
...
@@ -391,7 +391,7 @@ void FP_LIB_TABLE::Format( OUTPUTFORMATTER* out, int nestLevel ) const
void
FP_LIB_TABLE
::
ROW
::
Format
(
OUTPUTFORMATTER
*
out
,
int
nestLevel
)
const
throw
(
IO_ERROR
)
throw
(
IO_ERROR
,
boost
::
interprocess
::
lock_exception
)
{
out
->
Print
(
nestLevel
,
"(lib (name %s)(type %s)(uri %s)(options %s)(descr %s))
\n
"
,
out
->
Quotew
(
GetNickName
()
).
c_str
(),
...
...
@@ -665,7 +665,7 @@ bool FP_LIB_TABLE::IsEmpty( bool aIncludeFallback )
MODULE
*
FP_LIB_TABLE
::
FootprintLoadWithOptionalNickname
(
const
FPID
&
aFootprintId
)
throw
(
IO_ERROR
,
PARSE_ERROR
)
throw
(
IO_ERROR
,
PARSE_ERROR
,
boost
::
interprocess
::
lock_exception
)
{
wxString
nickname
=
aFootprintId
.
GetLibNickname
();
wxString
fpname
=
aFootprintId
.
GetFootprintName
();
...
...
cvpcb/cvstruct.h
View file @
f4d5e349
...
...
@@ -179,7 +179,6 @@ class COMPONENTS_LISTBOX : public ITEMS_LISTBOX_BASE
{
public
:
wxArrayString
m_ComponentList
;
CVPCB_MAINFRAME
*
m_Parent
;
public
:
...
...
eeschema/class_library.cpp
View file @
f4d5e349
...
...
@@ -756,7 +756,7 @@ bool PART_LIB::SaveHeader( OUTPUTFORMATTER& aFormatter )
}
PART_LIB
*
PART_LIB
::
LoadLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
)
PART_LIB
*
PART_LIB
::
LoadLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
std
::
auto_ptr
<
PART_LIB
>
lib
(
new
PART_LIB
(
LIBRARY_TYPE_EESCHEMA
,
aFileName
)
);
...
...
@@ -784,7 +784,7 @@ PART_LIB* PART_LIB::LoadLibrary( const wxString& aFileName ) throw( IO_ERROR )
}
PART_LIB
*
PART_LIBS
::
AddLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
)
PART_LIB
*
PART_LIBS
::
AddLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
PART_LIB
*
lib
;
...
...
@@ -979,7 +979,8 @@ void PART_LIBS::RemoveCacheLibrary()
void
PART_LIBS
::
LibNamesAndPaths
(
PROJECT
*
aProject
,
bool
doSave
,
wxString
*
aPaths
,
wxArrayString
*
aNames
)
throw
(
IO_ERROR
)
wxString
*
aPaths
,
wxArrayString
*
aNames
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
wxString
pro
=
aProject
->
GetProjectFullName
();
...
...
eeschema/class_library.h
View file @
f4d5e349
...
...
@@ -123,7 +123,7 @@ public:
* @param aFileName - File name object of part library.
* @throw IO_ERROR if there's any problem loading.
*/
PART_LIB
*
AddLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
);
PART_LIB
*
AddLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
/**
* Function AddLibrary
...
...
@@ -160,7 +160,8 @@ public:
* (without paths).
*/
static
void
LibNamesAndPaths
(
PROJECT
*
aProject
,
bool
doSave
,
wxString
*
aPaths
,
wxArrayString
*
aNames
=
NULL
)
throw
(
IO_ERROR
);
wxString
*
aPaths
,
wxArrayString
*
aNames
=
NULL
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
/**
* Function cacheName
...
...
@@ -545,7 +546,7 @@ public:
* the caller.
* @throw IO_ERROR if there's any problem loading the library.
*/
static
PART_LIB
*
LoadLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
);
static
PART_LIB
*
LoadLibrary
(
const
wxString
&
aFileName
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
};
...
...
eeschema/dialogs/dialog_edit_component_in_schematic.cpp
View file @
f4d5e349
...
...
@@ -70,7 +70,7 @@ private:
friend
class
SCH_EDIT_FRAME
;
SCH_EDIT_FRAME
*
m_Parent
;
SCH_COMPONENT
*
m_
C
mp
;
SCH_COMPONENT
*
m_
c
mp
;
LIB_PART
*
m_part
;
bool
m_skipCopyFromPanel
;
...
...
@@ -141,7 +141,7 @@ int DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::s_SelectedRow;
void
SCH_EDIT_FRAME
::
EditComponent
(
SCH_COMPONENT
*
aComponent
)
{
wxCHECK_RET
(
aComponent
!=
NULL
&&
aComponent
->
Type
()
==
SCH_COMPONENT_T
,
wxT
(
"Invalid component object pointer. Bad Programmer!"
)
);
wxT
(
"Invalid component object pointer. Bad Programmer!"
)
);
m_canvas
->
SetIgnoreMouseEvents
(
true
);
...
...
@@ -169,6 +169,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC( wxWindow
{
m_Parent
=
(
SCH_EDIT_FRAME
*
)
parent
;
m_cmp
=
NULL
;
m_part
=
NULL
;
m_skipCopyFromPanel
=
false
;
...
...
@@ -301,7 +302,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions()
wxString
newname
=
chipnameTextCtrl
->
GetValue
();
// Save current flags which could be modified by next change settings
STATUS_FLAGS
flags
=
m_
C
mp
->
GetFlags
();
STATUS_FLAGS
flags
=
m_
c
mp
->
GetFlags
();
newname
.
Replace
(
wxT
(
" "
),
wxT
(
"_"
)
);
...
...
@@ -309,7 +310,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions()
{
DisplayError
(
NULL
,
_
(
"No Component Name!"
)
);
}
else
if
(
Cmp_KEEPCASE
(
newname
,
m_
C
mp
->
m_part_name
)
)
else
if
(
Cmp_KEEPCASE
(
newname
,
m_
c
mp
->
m_part_name
)
)
{
PART_LIBS
*
libs
=
Prj
().
SchLibs
();
...
...
@@ -321,41 +322,41 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions()
}
else
// Change component from lib!
{
m_
C
mp
->
SetPartName
(
newname
,
libs
);
m_
c
mp
->
SetPartName
(
newname
,
libs
);
}
}
// For components with multiple shapes (De Morgan representation) Set the selected shape:
if
(
convertCheckBox
->
IsEnabled
()
)
{
m_
C
mp
->
SetConvert
(
convertCheckBox
->
GetValue
()
?
2
:
1
);
m_
c
mp
->
SetConvert
(
convertCheckBox
->
GetValue
()
?
2
:
1
);
}
//Set the part selection in multiple part per package
if
(
m_
C
mp
->
GetUnit
()
)
if
(
m_
c
mp
->
GetUnit
()
)
{
int
unit_selection
=
unitChoice
->
GetCurrentSelection
()
+
1
;
m_
C
mp
->
SetUnitSelection
(
&
m_Parent
->
GetCurrentSheet
(),
unit_selection
);
m_
C
mp
->
SetUnit
(
unit_selection
);
m_
c
mp
->
SetUnitSelection
(
&
m_Parent
->
GetCurrentSheet
(),
unit_selection
);
m_
c
mp
->
SetUnit
(
unit_selection
);
}
switch
(
orientationRadioBox
->
GetSelection
()
)
{
case
0
:
m_
C
mp
->
SetOrientation
(
CMP_ORIENT_0
);
m_
c
mp
->
SetOrientation
(
CMP_ORIENT_0
);
break
;
case
1
:
m_
C
mp
->
SetOrientation
(
CMP_ORIENT_90
);
m_
c
mp
->
SetOrientation
(
CMP_ORIENT_90
);
break
;
case
2
:
m_
C
mp
->
SetOrientation
(
CMP_ORIENT_180
);
m_
c
mp
->
SetOrientation
(
CMP_ORIENT_180
);
break
;
case
3
:
m_
C
mp
->
SetOrientation
(
CMP_ORIENT_270
);
m_
c
mp
->
SetOrientation
(
CMP_ORIENT_270
);
break
;
}
...
...
@@ -367,17 +368,17 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions()
break
;
case
1
:
m_
C
mp
->
SetOrientation
(
CMP_MIRROR_X
);
m_
c
mp
->
SetOrientation
(
CMP_MIRROR_X
);
break
;
case
2
:
m_
C
mp
->
SetOrientation
(
CMP_MIRROR_Y
);
m_
c
mp
->
SetOrientation
(
CMP_MIRROR_Y
);
break
;
}
// Restore m_Flag modified by SetUnit() and other change settings
m_
C
mp
->
ClearFlags
();
m_
C
mp
->
SetFlags
(
flags
);
m_
c
mp
->
ClearFlags
();
m_
c
mp
->
SetFlags
(
flags
);
}
...
...
@@ -396,9 +397,9 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event
// save old cmp in undo list if not already in edit, or moving ...
// or the component to be edited is part of a block
if
(
m_
Cmp
->
m_Flags
==
0
||
m_Parent
->
GetScreen
()
->
m_BlockLocate
.
GetState
()
!=
STATE_NO_BLOCK
)
m_Parent
->
SaveCopyInUndoList
(
m_
C
mp
,
UR_CHANGED
);
if
(
m_
cmp
->
m_Flags
==
0
||
m_Parent
->
GetScreen
()
->
m_BlockLocate
.
GetState
()
!=
STATE_NO_BLOCK
)
m_Parent
->
SaveCopyInUndoList
(
m_
c
mp
,
UR_CHANGED
);
copyPanelToOptions
();
...
...
@@ -441,21 +442,21 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event
// change all field positions from relative to absolute
for
(
unsigned
i
=
0
;
i
<
m_FieldsBuf
.
size
();
++
i
)
{
m_FieldsBuf
[
i
].
SetTextPosition
(
m_FieldsBuf
[
i
].
GetTextPosition
()
+
m_
C
mp
->
m_Pos
);
m_FieldsBuf
[
i
].
SetTextPosition
(
m_FieldsBuf
[
i
].
GetTextPosition
()
+
m_
c
mp
->
m_Pos
);
}
LIB_PART
*
entry
=
Prj
().
SchLibs
()
->
FindLibPart
(
m_
C
mp
->
m_part_name
);
LIB_PART
*
entry
=
Prj
().
SchLibs
()
->
FindLibPart
(
m_
c
mp
->
m_part_name
);
if
(
entry
&&
entry
->
IsPower
()
)
m_FieldsBuf
[
VALUE
].
SetText
(
m_
C
mp
->
m_part_name
);
m_FieldsBuf
[
VALUE
].
SetText
(
m_
c
mp
->
m_part_name
);
// copy all the fields back, and change the length of m_Fields.
m_
C
mp
->
SetFields
(
m_FieldsBuf
);
m_
c
mp
->
SetFields
(
m_FieldsBuf
);
// Reference has a specific initialization, depending on the current active sheet
// because for a given component, in a complex hierarchy, there are more than one
// reference.
m_
C
mp
->
SetRef
(
&
m_Parent
->
GetCurrentSheet
(),
m_FieldsBuf
[
REFERENCE
].
GetText
()
);
m_
c
mp
->
SetRef
(
&
m_Parent
->
GetCurrentSheet
(),
m_FieldsBuf
[
REFERENCE
].
GetText
()
);
m_Parent
->
OnModify
();
m_Parent
->
GetScreen
()
->
TestDanglingEnds
();
...
...
@@ -474,7 +475,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::addFieldButtonHandler( wxCommandEvent&
unsigned
fieldNdx
=
m_FieldsBuf
.
size
();
SCH_FIELD
blank
(
wxPoint
(),
fieldNdx
,
m_
C
mp
);
SCH_FIELD
blank
(
wxPoint
(),
fieldNdx
,
m_
c
mp
);
blank
.
SetOrientation
(
m_FieldsBuf
[
REFERENCE
].
GetOrientation
()
);
...
...
@@ -564,7 +565,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::moveUpButtonHandler( wxCommandEvent& ev
SCH_FIELD
tmp
=
m_FieldsBuf
[
fieldNdx
-
1
];
DBG
(
printf
(
"tmp.m_Text=
\"
%s
\"
tmp.m_Name=
\"
%s
\"\n
"
,
TO_UTF8
(
tmp
.
GetText
()
),
TO_UTF8
(
tmp
.
GetName
(
false
)
)
);
)
TO_UTF8
(
tmp
.
GetText
()
),
TO_UTF8
(
tmp
.
GetName
(
false
)
)
);
)
m_FieldsBuf
[
fieldNdx
-
1
]
=
m_FieldsBuf
[
fieldNdx
];
setRowItem
(
fieldNdx
-
1
,
m_FieldsBuf
[
fieldNdx
]
);
...
...
@@ -621,7 +622,7 @@ SCH_FIELD* DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::findField( const wxString& aField
void
DIALOG_EDIT_COMPONENT_IN_SCHEMATIC
::
InitBuffers
(
SCH_COMPONENT
*
aComponent
)
{
m_
C
mp
=
aComponent
;
m_
c
mp
=
aComponent
;
/* We have 3 component related field lists to be aware of: 1) UI
presentation, 2) fields in component ram copy, and 3) fields recorded
...
...
@@ -635,7 +636,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent
which came from the component.
*/
m_part
=
Prj
().
SchLibs
()
->
FindLibPart
(
m_
C
mp
->
m_part_name
);
m_part
=
Prj
().
SchLibs
()
->
FindLibPart
(
m_
c
mp
->
m_part_name
);
#if 0 && defined(DEBUG)
for( int i = 0; i<aComponent->GetFieldCount(); ++i )
...
...
@@ -658,7 +659,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent
m_FieldsBuf
.
push_back
(
aComponent
->
m_Fields
[
i
]
);
// make the editable field position relative to the component
m_FieldsBuf
[
i
].
SetTextPosition
(
m_FieldsBuf
[
i
].
GetTextPosition
()
-
m_
C
mp
->
m_Pos
);
m_FieldsBuf
[
i
].
SetTextPosition
(
m_FieldsBuf
[
i
].
GetTextPosition
()
-
m_
c
mp
->
m_Pos
);
}
// Add template fieldnames:
...
...
@@ -669,7 +670,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent
for
(
TEMPLATE_FIELDNAMES
::
const_iterator
it
=
tfnames
.
begin
();
it
!=
tfnames
.
end
();
++
it
)
{
// add a new field unconditionally to the UI only
SCH_FIELD
fld
(
wxPoint
(
0
,
0
),
-
1
/* id is a relic */
,
m_
C
mp
,
it
->
m_Name
);
SCH_FIELD
fld
(
wxPoint
(
0
,
0
),
-
1
/* id is a relic */
,
m_
c
mp
,
it
->
m_Name
);
// See if field by same name already exists in component.
SCH_FIELD
*
schField
=
aComponent
->
FindField
(
it
->
m_Name
);
...
...
@@ -691,7 +692,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent
fld
=
*
schField
;
// make the editable field position relative to the component
fld
.
SetTextPosition
(
fld
.
GetTextPosition
()
-
m_
C
mp
->
m_Pos
);
fld
.
SetTextPosition
(
fld
.
GetTextPosition
()
-
m_
c
mp
->
m_Pos
);
}
m_FieldsBuf
.
push_back
(
fld
);
...
...
@@ -711,7 +712,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent
// make the editable field position relative to the component
m_FieldsBuf
[
newNdx
].
SetTextPosition
(
m_FieldsBuf
[
newNdx
].
GetTextPosition
()
-
m_
C
mp
->
m_Pos
);
m_
c
mp
->
m_Pos
);
}
}
...
...
@@ -724,7 +725,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent
}
#endif
m_FieldsBuf
[
REFERENCE
].
SetText
(
m_
C
mp
->
GetRef
(
&
m_Parent
->
GetCurrentSheet
()
)
);
m_FieldsBuf
[
REFERENCE
].
SetText
(
m_
c
mp
->
GetRef
(
&
m_Parent
->
GetCurrentSheet
()
)
);
for
(
unsigned
i
=
0
;
i
<
m_FieldsBuf
.
size
();
++
i
)
{
...
...
@@ -744,7 +745,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent
// disable some options inside the edit dialog
// which can cause problems while dragging
if
(
m_
C
mp
->
IsDragging
()
)
if
(
m_
c
mp
->
IsDragging
()
)
{
orientationRadioBox
->
Disable
();
mirrorRadioBox
->
Disable
();
...
...
@@ -855,7 +856,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel()
textSizeTextCtrl
->
SetValue
(
EDA_GRAPHIC_TEXT_CTRL
::
FormatSize
(
g_UserUnit
,
field
.
GetSize
().
x
)
);
wxPoint
coord
=
field
.
GetTextPosition
();
wxPoint
zero
=
-
m_
C
mp
->
m_Pos
;
// relative zero
wxPoint
zero
=
-
m_
c
mp
->
m_Pos
;
// relative zero
// If the field value is empty and the position is at relative zero, we
// set the initial position as a small offset from the ref field, and
...
...
@@ -965,11 +966,11 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyOptionsToPanel()
}
// For components with multiple parts per package, set the unit selection
if
(
m_
C
mp
->
GetUnit
()
<=
(
int
)
unitChoice
->
GetCount
()
)
unitChoice
->
SetSelection
(
m_
C
mp
->
GetUnit
()
-
1
);
if
(
m_
c
mp
->
GetUnit
()
<=
(
int
)
unitChoice
->
GetCount
()
)
unitChoice
->
SetSelection
(
m_
c
mp
->
GetUnit
()
-
1
);
// Disable unit selection if only one unit exists:
if
(
m_
C
mp
->
GetUnit
()
<=
1
)
if
(
m_
c
mp
->
GetUnit
()
<=
1
)
{
unitChoice
->
Enable
(
false
);
unitsInterchageableLabel
->
Show
(
false
);
...
...
@@ -984,7 +985,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyOptionsToPanel()
unitsInterchageableLabel
->
SetLabel
(
_
(
"No"
)
);
}
int
orientation
=
m_
C
mp
->
GetOrientation
()
&
~
(
CMP_MIRROR_X
|
CMP_MIRROR_Y
);
int
orientation
=
m_
c
mp
->
GetOrientation
()
&
~
(
CMP_MIRROR_X
|
CMP_MIRROR_Y
);
if
(
orientation
==
CMP_ORIENT_90
)
orientationRadioBox
->
SetSelection
(
1
);
...
...
@@ -995,7 +996,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyOptionsToPanel()
else
orientationRadioBox
->
SetSelection
(
0
);
int
mirror
=
m_
C
mp
->
GetOrientation
()
&
(
CMP_MIRROR_X
|
CMP_MIRROR_Y
);
int
mirror
=
m_
c
mp
->
GetOrientation
()
&
(
CMP_MIRROR_X
|
CMP_MIRROR_Y
);
if
(
mirror
==
CMP_MIRROR_X
)
{
...
...
@@ -1012,38 +1013,37 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyOptionsToPanel()
// Activate/Desactivate the normal/convert option ? (activated only if
// the component has more than one shape)
if
(
m_
C
mp
->
GetConvert
()
>
1
)
if
(
m_
c
mp
->
GetConvert
()
>
1
)
convertCheckBox
->
SetValue
(
true
);
if
(
m_part
==
NULL
||
!
m_part
->
HasConversion
()
)
convertCheckBox
->
Enable
(
false
);
// Set the component's library name.
chipnameTextCtrl
->
SetValue
(
m_
C
mp
->
m_part_name
);
chipnameTextCtrl
->
SetValue
(
m_
c
mp
->
m_part_name
);
// Set the component's unique ID time stamp.
m_textCtrlTimeStamp
->
SetValue
(
wxString
::
Format
(
wxT
(
"%8.8lX"
),
(
unsigned
long
)
m_
C
mp
->
GetTimeStamp
()
)
);
(
unsigned
long
)
m_
c
mp
->
GetTimeStamp
()
)
);
}
#include <kicad_device_context.h>
/* reinitialize components parameters to default values found in lib
*/
void
DIALOG_EDIT_COMPONENT_IN_SCHEMATIC
::
SetInitCmp
(
wxCommandEvent
&
event
)
{
if
(
!
m_
C
mp
)
if
(
!
m_
c
mp
)
return
;
if
(
LIB_PART
*
part
=
Prj
().
SchLibs
()
->
FindLibPart
(
m_
C
mp
->
m_part_name
)
)
if
(
LIB_PART
*
part
=
Prj
().
SchLibs
()
->
FindLibPart
(
m_
c
mp
->
m_part_name
)
)
{
// save old cmp in undo list if not already in edit, or moving ...
if
(
m_
C
mp
->
m_Flags
==
0
)
m_Parent
->
SaveCopyInUndoList
(
m_
C
mp
,
UR_CHANGED
);
if
(
m_
c
mp
->
m_Flags
==
0
)
m_Parent
->
SaveCopyInUndoList
(
m_
c
mp
,
UR_CHANGED
);
INSTALL_UNBUFFERED_DC
(
dc
,
m_Parent
->
GetCanvas
()
);
m_
C
mp
->
Draw
(
m_Parent
->
GetCanvas
(),
&
dc
,
wxPoint
(
0
,
0
),
g_XorMode
);
m_
c
mp
->
Draw
(
m_Parent
->
GetCanvas
(),
&
dc
,
wxPoint
(
0
,
0
),
g_XorMode
);
// Initialize fixed field values to default values found in library
// Note: the field texts are not modified because they are set in schematic,
...
...
@@ -1051,35 +1051,35 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp( wxCommandEvent& event )
// Only VALUE, REFERENCE , FOOTPRINT and DATASHEET are re-initialized
LIB_FIELD
&
refField
=
part
->
GetReferenceField
();
m_
Cmp
->
GetField
(
REFERENCE
)
->
SetTextPosition
(
refField
.
GetTextPosition
()
+
m_C
mp
->
m_Pos
);
m_
C
mp
->
GetField
(
REFERENCE
)
->
ImportValues
(
refField
);
m_
cmp
->
GetField
(
REFERENCE
)
->
SetTextPosition
(
refField
.
GetTextPosition
()
+
m_c
mp
->
m_Pos
);
m_
c
mp
->
GetField
(
REFERENCE
)
->
ImportValues
(
refField
);
LIB_FIELD
&
valField
=
part
->
GetValueField
();
m_
Cmp
->
GetField
(
VALUE
)
->
SetTextPosition
(
valField
.
GetTextPosition
()
+
m_C
mp
->
m_Pos
);
m_
C
mp
->
GetField
(
VALUE
)
->
ImportValues
(
valField
);
m_
cmp
->
GetField
(
VALUE
)
->
SetTextPosition
(
valField
.
GetTextPosition
()
+
m_c
mp
->
m_Pos
);
m_
c
mp
->
GetField
(
VALUE
)
->
ImportValues
(
valField
);
LIB_FIELD
*
field
=
part
->
GetField
(
FOOTPRINT
);
if
(
field
&&
m_
C
mp
->
GetField
(
FOOTPRINT
)
)
if
(
field
&&
m_
c
mp
->
GetField
(
FOOTPRINT
)
)
{
m_
Cmp
->
GetField
(
FOOTPRINT
)
->
SetTextPosition
(
field
->
GetTextPosition
()
+
m_C
mp
->
m_Pos
);
m_
C
mp
->
GetField
(
FOOTPRINT
)
->
ImportValues
(
*
field
);
m_
cmp
->
GetField
(
FOOTPRINT
)
->
SetTextPosition
(
field
->
GetTextPosition
()
+
m_c
mp
->
m_Pos
);
m_
c
mp
->
GetField
(
FOOTPRINT
)
->
ImportValues
(
*
field
);
}
field
=
part
->
GetField
(
DATASHEET
);
if
(
field
&&
m_
C
mp
->
GetField
(
DATASHEET
)
)
if
(
field
&&
m_
c
mp
->
GetField
(
DATASHEET
)
)
{
m_
Cmp
->
GetField
(
DATASHEET
)
->
SetTextPosition
(
field
->
GetTextPosition
()
+
m_C
mp
->
m_Pos
);
m_
C
mp
->
GetField
(
DATASHEET
)
->
ImportValues
(
*
field
);
m_
cmp
->
GetField
(
DATASHEET
)
->
SetTextPosition
(
field
->
GetTextPosition
()
+
m_c
mp
->
m_Pos
);
m_
c
mp
->
GetField
(
DATASHEET
)
->
ImportValues
(
*
field
);
}
m_
C
mp
->
SetOrientation
(
CMP_NORMAL
);
m_
c
mp
->
SetOrientation
(
CMP_NORMAL
);
m_Parent
->
OnModify
();
m_
C
mp
->
Draw
(
m_Parent
->
GetCanvas
(),
&
dc
,
wxPoint
(
0
,
0
),
GR_DEFAULT_DRAWMODE
);
m_
c
mp
->
Draw
(
m_Parent
->
GetCanvas
(),
&
dc
,
wxPoint
(
0
,
0
),
GR_DEFAULT_DRAWMODE
);
EndQuasiModal
(
wxID_OK
);
}
...
...
include/fp_lib_table.h
View file @
f4d5e349
...
...
@@ -31,6 +31,7 @@
#include <map>
#include <io_mgr.h>
#include <project.h>
#include <boost/interprocess/exceptions.hpp>
#define FP_LATE_ENVVAR 1 ///< late=1/early=0 environment variable expansion
...
...
@@ -221,7 +222,7 @@ public:
* Actual indentation will be 2 spaces for each nestLevel.
*/
void
Format
(
OUTPUTFORMATTER
*
out
,
int
nestLevel
)
const
throw
(
IO_ERROR
);
throw
(
IO_ERROR
,
boost
::
interprocess
::
lock_exception
);
private
:
...
...
@@ -468,7 +469,7 @@ public:
* @throw PARSE_ERROR if @a aFootprintId is not parsed OK.
*/
MODULE
*
FootprintLoadWithOptionalNickname
(
const
FPID
&
aFootprintId
)
throw
(
IO_ERROR
,
PARSE_ERROR
);
throw
(
IO_ERROR
,
PARSE_ERROR
,
boost
::
interprocess
::
lock_exception
);
/**
* Function GetDescription
...
...
pagelayout_editor/events_functions.cpp
View file @
f4d5e349
...
...
@@ -170,6 +170,7 @@ void PL_EDITOR_FRAME::Process_Special_Functions( wxCommandEvent& event )
SaveCopyInUndoList
();
idx
=
m_treePagelayout
->
GetSelectedItemIndex
();
item
=
AddPageLayoutItem
(
WORKSHEET_DATAITEM
::
WS_SEGMENT
,
idx
);
if
(
InvokeDialogNewItem
(
this
,
item
)
==
wxID_CANCEL
)
{
RemoveLastCommandInUndoList
();
...
...
@@ -199,6 +200,7 @@ void PL_EDITOR_FRAME::Process_Special_Functions( wxCommandEvent& event )
SaveCopyInUndoList
();
idx
=
m_treePagelayout
->
GetSelectedItemIndex
();
item
=
AddPageLayoutItem
(
WORKSHEET_DATAITEM
::
WS_RECT
,
idx
);
if
(
InvokeDialogNewItem
(
this
,
item
)
==
wxID_CANCEL
)
{
RemoveLastCommandInUndoList
();
...
...
@@ -353,10 +355,11 @@ static void moveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPositio
// (does not happen each time the mouse is moved, because the
// item is placed on grid)
// to avoid useless computation time.
if
(
aPanel
&&
(
previous_position
!=
position
)
)
if
(
previous_position
!=
position
)
aPanel
->
Refresh
();
}
/*
* Function abortMoveItem: called when an item is currently moving,
* and when the user aborts the move command.
...
...
@@ -367,7 +370,7 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC )
PL_EDITOR_SCREEN
*
screen
=
(
PL_EDITOR_SCREEN
*
)
aPanel
->
GetScreen
();
WORKSHEET_DATAITEM
*
item
=
screen
->
GetCurItem
();
if
(
(
item
->
GetFlags
()
&
NEW_ITEM
)
)
if
(
item
->
GetFlags
()
&
NEW_ITEM
)
{
PL_EDITOR_FRAME
*
plframe
=
(
PL_EDITOR_FRAME
*
)
aPanel
->
GetParent
();
plframe
->
RemoveLastCommandInUndoList
();
...
...
@@ -394,6 +397,7 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC )
aPanel
->
Refresh
();
}
void
PL_EDITOR_FRAME
::
MoveItem
(
WORKSHEET_DATAITEM
*
aItem
)
{
wxCHECK_RET
(
aItem
!=
NULL
,
wxT
(
"Cannot move NULL item"
)
);
...
...
@@ -411,6 +415,7 @@ void PL_EDITOR_FRAME::MoveItem( WORKSHEET_DATAITEM* aItem )
{
SetCrossHairPosition
(
initialPositionUi
,
false
);
initialCursorPosition
=
GetCrossHairPosition
();
if
(
m_canvas
->
IsPointOnDisplay
(
initialCursorPosition
)
)
{
m_canvas
->
MoveCursorToCrossHair
();
...
...
@@ -443,7 +448,7 @@ void PL_EDITOR_FRAME::PlaceItem( WORKSHEET_DATAITEM* aItem )
{
aItem
->
MoveStartPointTo
(
initialPosition
);
}
else
if
(
(
aItem
->
GetFlags
()
&
LOCATE_ENDPOINT
)
)
else
if
(
aItem
->
GetFlags
()
&
LOCATE_ENDPOINT
)
{
aItem
->
MoveEndPointTo
(
initialPosition
);
}
...
...
@@ -471,12 +476,14 @@ void PL_EDITOR_FRAME::OnSelectCoordOriginCorner( wxCommandEvent& event )
m_canvas
->
Refresh
();
}
void
PL_EDITOR_FRAME
::
OnSelectTitleBlockDisplayMode
(
wxCommandEvent
&
event
)
{
WORKSHEET_DATAITEM
::
m_SpecialMode
=
(
event
.
GetId
()
==
ID_SHOW_PL_EDITOR_MODE
);
m_canvas
->
Refresh
();
}
void
PL_EDITOR_FRAME
::
OnQuit
(
wxCommandEvent
&
event
)
{
Close
(
true
);
...
...
@@ -485,7 +492,7 @@ void PL_EDITOR_FRAME::OnQuit( wxCommandEvent& event )
void
PL_EDITOR_FRAME
::
ToPlotter
(
wxCommandEvent
&
event
)
{
wxMessageBox
(
wxT
(
"Not yet available"
)
);
wxMessageBox
(
wxT
(
"Not yet available"
)
);
}
...
...
@@ -533,6 +540,7 @@ void PL_EDITOR_FRAME::ToPrinter(wxCommandEvent& event)
InvokeDialogPrint
(
this
,
s_PrintData
,
s_pageSetupData
);
}
void
PL_EDITOR_FRAME
::
OnTreeSelection
(
wxTreeEvent
&
event
)
{
WORKSHEET_DATAITEM
*
item
=
GetSelectedItem
();
...
...
@@ -543,11 +551,15 @@ void PL_EDITOR_FRAME::OnTreeSelection( wxTreeEvent& event )
m_canvas
->
Refresh
();
}
void
PL_EDITOR_FRAME
::
OnTreeMiddleClick
(
wxTreeEvent
&
event
)
{
}
extern
void
AddNewItemsCommand
(
wxMenu
*
aMainMenu
);
void
PL_EDITOR_FRAME
::
OnTreeRightClick
(
wxTreeEvent
&
event
)
{
m_treePagelayout
->
SelectCell
(
event
.
GetItem
()
);
...
...
@@ -568,6 +580,7 @@ void PL_EDITOR_FRAME::OnUpdateTitleBlockDisplayNormalMode( wxUpdateUIEvent& even
event
.
Check
(
WORKSHEET_DATAITEM
::
m_SpecialMode
==
false
);
}
void
PL_EDITOR_FRAME
::
OnUpdateTitleBlockDisplaySpecialMode
(
wxUpdateUIEvent
&
event
)
{
event
.
Check
(
WORKSHEET_DATAITEM
::
m_SpecialMode
==
true
);
...
...
pcbnew/kicad_plugin.cpp
View file @
f4d5e349
...
...
@@ -88,7 +88,6 @@ void filterNetClass( const BOARD& aBoard, NETCLASS& aNetClass )
class
FP_CACHE_ITEM
{
wxFileName
m_file_name
;
///< The the full file name and path of the footprint to cache.
bool
m_writable
;
///< Writability status of the footprint file.
wxDateTime
m_mod_time
;
///< The last file modified time stamp.
std
::
auto_ptr
<
MODULE
>
m_module
;
...
...
pcbnew/legacy_netlist_reader.cpp
View file @
f4d5e349
...
...
@@ -98,7 +98,8 @@ void LEGACY_NETLIST_READER::LoadNetlist() throw ( IO_ERROR, PARSE_ERROR )
}
COMPONENT
*
LEGACY_NETLIST_READER
::
loadComponent
(
char
*
aText
)
throw
(
PARSE_ERROR
)
COMPONENT
*
LEGACY_NETLIST_READER
::
loadComponent
(
char
*
aText
)
throw
(
PARSE_ERROR
,
boost
::
bad_pointer
)
{
char
*
text
;
wxString
msg
;
...
...
pcbnew/netlist_reader.h
View file @
f4d5e349
...
...
@@ -214,7 +214,7 @@ class LEGACY_NETLIST_READER : public NETLIST_READER
* @return the new component created by parsing \a aLine
* @throw PARSE_ERROR when \a aLine is not a valid component description.
*/
COMPONENT
*
loadComponent
(
char
*
aText
)
throw
(
PARSE_ERROR
);
COMPONENT
*
loadComponent
(
char
*
aText
)
throw
(
PARSE_ERROR
,
boost
::
bad_pointer
);
/**
* Function loadFootprintFilters
...
...
pcbnew/pcb_parser.cpp
View file @
f4d5e349
...
...
@@ -300,7 +300,7 @@ void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR )
}
S3D_MASTER
*
PCB_PARSER
::
parse3DModel
()
throw
(
PARSE_ERROR
)
S3D_MASTER
*
PCB_PARSER
::
parse3DModel
()
throw
(
PARSE_ERROR
,
IO_ERROR
)
{
wxCHECK_MSG
(
CurTok
()
==
T_model
,
NULL
,
wxT
(
"Cannot parse "
)
+
GetTokenString
(
CurTok
()
)
+
wxT
(
" as S3D_MASTER."
)
);
...
...
pcbnew/pcb_parser.h
View file @
f4d5e349
...
...
@@ -185,7 +185,7 @@ class PCB_PARSER : public PCB_LEXER
*/
void
parseEDA_TEXT
(
EDA_TEXT
*
aText
)
throw
(
PARSE_ERROR
);
S3D_MASTER
*
parse3DModel
()
throw
(
PARSE_ERROR
);
S3D_MASTER
*
parse3DModel
()
throw
(
PARSE_ERROR
,
IO_ERROR
);
/**
* Function parseDouble
...
...
@@ -219,7 +219,7 @@ class PCB_PARSER : public PCB_LEXER
return
KiROUND
(
parseDouble
()
*
IU_PER_MM
);
}
inline
int
parseBoardUnits
(
const
char
*
aExpected
)
throw
(
PARSE_ERROR
)
inline
int
parseBoardUnits
(
const
char
*
aExpected
)
throw
(
PARSE_ERROR
,
IO_ERROR
)
{
// Use here KiROUND, not KIROUND (see comments about them)
// when having a function as argument, because it will be called twice
...
...
pcbnew/specctra.cpp
View file @
f4d5e349
...
...
@@ -294,7 +294,7 @@ void SPECCTRA_DB::LoadSESSION( const wxString& filename ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doPCB
(
PCB
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doPCB
(
PCB
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -799,7 +799,7 @@ void SPECCTRA_DB::doSTRUCTURE_OUT( STRUCTURE_OUT* growth ) throw( IO_ERROR, boos
}
void
SPECCTRA_DB
::
doKEEPOUT
(
KEEPOUT
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doKEEPOUT
(
KEEPOUT
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
=
NextTok
();
...
...
@@ -975,7 +975,7 @@ void SPECCTRA_DB::doWINDOW( WINDOW* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doBOUNDARY
(
BOUNDARY
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doBOUNDARY
(
BOUNDARY
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
=
NextTok
();
...
...
@@ -1197,7 +1197,7 @@ void SPECCTRA_DB::doVIA( VIA* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doCONTROL
(
CONTROL
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doCONTROL
(
CONTROL
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -1521,7 +1521,7 @@ void SPECCTRA_DB::doPLACE_RULE( PLACE_RULE* growth, bool expect_object_type ) th
#endif
void
SPECCTRA_DB
::
doREGION
(
REGION
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doREGION
(
REGION
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
=
NextTok
();
...
...
@@ -1590,7 +1590,7 @@ void SPECCTRA_DB::doREGION( REGION* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doCLASS_CLASS
(
CLASS_CLASS
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doCLASS_CLASS
(
CLASS_CLASS
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
=
NextTok
();
...
...
@@ -1893,7 +1893,7 @@ void SPECCTRA_DB::doCOMPONENT( COMPONENT* growth ) throw( IO_ERROR, boost::bad_p
}
void
SPECCTRA_DB
::
doPLACEMENT
(
PLACEMENT
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doPLACEMENT
(
PLACEMENT
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -1948,7 +1948,7 @@ void SPECCTRA_DB::doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doPADSTACK
(
PADSTACK
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doPADSTACK
(
PADSTACK
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
=
NextTok
();
...
...
@@ -2048,7 +2048,7 @@ void SPECCTRA_DB::doPADSTACK( PADSTACK* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doSHAPE
(
SHAPE
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doSHAPE
(
SHAPE
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -2274,7 +2274,7 @@ void SPECCTRA_DB::doPIN( PIN* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doLIBRARY
(
LIBRARY
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doLIBRARY
(
LIBRARY
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -2468,7 +2468,7 @@ L_pins:
}
void
SPECCTRA_DB
::
doTOPOLOGY
(
TOPOLOGY
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doTOPOLOGY
(
TOPOLOGY
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -2506,7 +2506,7 @@ void SPECCTRA_DB::doTOPOLOGY( TOPOLOGY* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doCLASS
(
CLASS
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doCLASS
(
CLASS
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -2679,7 +2679,7 @@ void SPECCTRA_DB::doCOMP_ORDER( COMP_ORDER* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doFROMTO
(
FROMTO
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doFROMTO
(
FROMTO
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -2990,7 +2990,7 @@ void SPECCTRA_DB::doWIRE_VIA( WIRE_VIA* growth ) throw( IO_ERROR )
}
void
SPECCTRA_DB
::
doWIRING
(
WIRING
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doWIRING
(
WIRING
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
@@ -3140,7 +3140,7 @@ void SPECCTRA_DB::doHISTORY( HISTORY* growth ) throw( IO_ERROR, boost::bad_point
}
void
SPECCTRA_DB
::
doSESSION
(
SESSION
*
growth
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
doSESSION
(
SESSION
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
T
tok
;
...
...
pcbnew/specctra.h
View file @
f4d5e349
...
...
@@ -3690,7 +3690,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
*/
void
readTIME
(
time_t
*
time_stamp
)
throw
(
IO_ERROR
);
void
doPCB
(
PCB
*
growth
)
throw
(
IO_ERROR
);
void
doPCB
(
PCB
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doPARSER
(
PARSER
*
growth
)
throw
(
IO_ERROR
);
void
doRESOLUTION
(
UNIT_RES
*
growth
)
throw
(
IO_ERROR
);
void
doUNIT
(
UNIT_RES
*
growth
)
throw
(
IO_ERROR
);
...
...
@@ -3698,44 +3698,44 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
void
doSTRUCTURE_OUT
(
STRUCTURE_OUT
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doLAYER_NOISE_WEIGHT
(
LAYER_NOISE_WEIGHT
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doLAYER_PAIR
(
LAYER_PAIR
*
growth
)
throw
(
IO_ERROR
);
void
doBOUNDARY
(
BOUNDARY
*
growth
)
throw
(
IO_ERROR
);
void
doBOUNDARY
(
BOUNDARY
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doRECTANGLE
(
RECTANGLE
*
growth
)
throw
(
IO_ERROR
);
void
doPATH
(
PATH
*
growth
)
throw
(
IO_ERROR
);
void
doSTRINGPROP
(
STRINGPROP
*
growth
)
throw
(
IO_ERROR
);
void
doTOKPROP
(
TOKPROP
*
growth
)
throw
(
IO_ERROR
);
void
doVIA
(
VIA
*
growth
)
throw
(
IO_ERROR
);
void
doCONTROL
(
CONTROL
*
growth
)
throw
(
IO_ERROR
);
void
doCONTROL
(
CONTROL
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doLAYER
(
LAYER
*
growth
)
throw
(
IO_ERROR
);
void
doRULE
(
RULE
*
growth
)
throw
(
IO_ERROR
);
void
doKEEPOUT
(
KEEPOUT
*
growth
)
throw
(
IO_ERROR
);
void
doKEEPOUT
(
KEEPOUT
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doCIRCLE
(
CIRCLE
*
growth
)
throw
(
IO_ERROR
);
void
doQARC
(
QARC
*
growth
)
throw
(
IO_ERROR
);
void
doWINDOW
(
WINDOW
*
growth
)
throw
(
IO_ERROR
);
void
doCONNECT
(
CONNECT
*
growth
)
throw
(
IO_ERROR
);
void
doREGION
(
REGION
*
growth
)
throw
(
IO_ERROR
);
void
doCLASS_CLASS
(
CLASS_CLASS
*
growth
)
throw
(
IO_ERROR
);
void
doREGION
(
REGION
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doCLASS_CLASS
(
CLASS_CLASS
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doLAYER_RULE
(
LAYER_RULE
*
growth
)
throw
(
IO_ERROR
);
void
doCLASSES
(
CLASSES
*
growth
)
throw
(
IO_ERROR
);
void
doGRID
(
GRID
*
growth
)
throw
(
IO_ERROR
);
void
doPLACE
(
PLACE
*
growth
)
throw
(
IO_ERROR
);
void
doCOMPONENT
(
COMPONENT
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doPLACEMENT
(
PLACEMENT
*
growth
)
throw
(
IO_ERROR
);
void
doPLACEMENT
(
PLACEMENT
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doPROPERTIES
(
PROPERTIES
*
growth
)
throw
(
IO_ERROR
);
void
doPADSTACK
(
PADSTACK
*
growth
)
throw
(
IO_ERROR
);
void
doSHAPE
(
SHAPE
*
growth
)
throw
(
IO_ERROR
);
void
doPADSTACK
(
PADSTACK
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doSHAPE
(
SHAPE
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doIMAGE
(
IMAGE
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doLIBRARY
(
LIBRARY
*
growth
)
throw
(
IO_ERROR
);
void
doLIBRARY
(
LIBRARY
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doPIN
(
PIN
*
growth
)
throw
(
IO_ERROR
);
void
doNET
(
NET
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doNETWORK
(
NETWORK
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doCLASS
(
CLASS
*
growth
)
throw
(
IO_ERROR
);
void
doTOPOLOGY
(
TOPOLOGY
*
growth
)
throw
(
IO_ERROR
);
void
doFROMTO
(
FROMTO
*
growth
)
throw
(
IO_ERROR
);
void
doCLASS
(
CLASS
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doTOPOLOGY
(
TOPOLOGY
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doFROMTO
(
FROMTO
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doCOMP_ORDER
(
COMP_ORDER
*
growth
)
throw
(
IO_ERROR
);
void
doWIRE
(
WIRE
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doWIRE_VIA
(
WIRE_VIA
*
growth
)
throw
(
IO_ERROR
);
void
doWIRING
(
WIRING
*
growth
)
throw
(
IO_ERROR
);
void
doSESSION
(
SESSION
*
growth
)
throw
(
IO_ERROR
);
void
doWIRING
(
WIRING
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doSESSION
(
SESSION
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doANCESTOR
(
ANCESTOR
*
growth
)
throw
(
IO_ERROR
);
void
doHISTORY
(
HISTORY
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
void
doROUTE
(
ROUTE
*
growth
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
...
...
@@ -3752,7 +3752,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
* @param aBoard The BOARD to get information from in order to make the BOUNDARY.
* @param aBoundary The empty BOUNDARY to fill in.
*/
void
fillBOUNDARY
(
BOARD
*
aBoard
,
BOUNDARY
*
aBoundary
)
throw
(
IO_ERROR
);
void
fillBOUNDARY
(
BOARD
*
aBoard
,
BOUNDARY
*
aBoundary
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
);
/**
* Function makeIMAGE
...
...
@@ -3933,7 +3933,7 @@ public:
*
* @param aBoard The BOARD to convert to a PCB.
*/
void
FromBOARD
(
BOARD
*
aBoard
)
throw
(
IO_ERROR
);
void
FromBOARD
(
BOARD
*
aBoard
)
throw
(
IO_ERROR
,
boost
::
bad_ptr_container_operation
);
/**
* Function FromSESSION
...
...
pcbnew/specctra_export.cpp
View file @
f4d5e349
...
...
@@ -889,7 +889,8 @@ static void makeCircle( PATH* aPath, DRAWSEGMENT* aGraphic )
}
void
SPECCTRA_DB
::
fillBOUNDARY
(
BOARD
*
aBoard
,
BOUNDARY
*
boundary
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
fillBOUNDARY
(
BOARD
*
aBoard
,
BOUNDARY
*
boundary
)
throw
(
IO_ERROR
,
boost
::
bad_pointer
)
{
PCB_TYPE_COLLECTOR
items
;
...
...
@@ -1369,7 +1370,8 @@ typedef std::set<std::string> STRINGSET;
typedef
std
::
pair
<
STRINGSET
::
iterator
,
bool
>
STRINGSET_PAIR
;
void
SPECCTRA_DB
::
FromBOARD
(
BOARD
*
aBoard
)
throw
(
IO_ERROR
)
void
SPECCTRA_DB
::
FromBOARD
(
BOARD
*
aBoard
)
throw
(
IO_ERROR
,
boost
::
bad_ptr_container_operation
)
{
PCB_TYPE_COLLECTOR
items
;
...
...
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