mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +00:00
Fix Tabular::CellData::operator=()
Don't create an intermediate copy (found by Jean-Marc). I doubt that this has anything to do with the mystery crash, but it works, and following the standard patterns is better anyway.
This commit is contained in:
parent
79e79ed548
commit
0092b523c7
@ -602,9 +602,29 @@ Tabular::CellData::CellData(CellData const & cs)
|
||||
{
|
||||
}
|
||||
|
||||
Tabular::CellData & Tabular::CellData::operator=(CellData cs)
|
||||
Tabular::CellData & Tabular::CellData::operator=(CellData const & cs)
|
||||
{
|
||||
swap(cs);
|
||||
if (&cs == this)
|
||||
return *this;
|
||||
cellno = cs.cellno;
|
||||
width = cs.width;
|
||||
multicolumn = cs.multicolumn;
|
||||
multirow = cs.multirow;
|
||||
mroffset = cs.mroffset;
|
||||
alignment = cs.alignment;
|
||||
valignment = cs.valignment;
|
||||
decimal_hoffset = cs.decimal_hoffset;
|
||||
decimal_width = cs.decimal_width;
|
||||
voffset = cs.voffset;
|
||||
top_line = cs.top_line;
|
||||
bottom_line = cs.bottom_line;
|
||||
left_line = cs.left_line;
|
||||
right_line = cs.right_line;
|
||||
usebox = cs.usebox;
|
||||
rotate = cs.rotate;
|
||||
align_special = cs.align_special;
|
||||
p_width = cs.p_width;
|
||||
inset.reset(static_cast<InsetTableCell *>(cs.inset->clone()));
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -610,7 +610,7 @@ public:
|
||||
///
|
||||
CellData(CellData const &);
|
||||
///
|
||||
CellData & operator=(CellData);
|
||||
CellData & operator=(CellData const &);
|
||||
///
|
||||
void swap(CellData & rhs);
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user