mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-10 20:04:46 +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;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -610,7 +610,7 @@ public:
|
|||||||
///
|
///
|
||||||
CellData(CellData const &);
|
CellData(CellData const &);
|
||||||
///
|
///
|
||||||
CellData & operator=(CellData);
|
CellData & operator=(CellData const &);
|
||||||
///
|
///
|
||||||
void swap(CellData & rhs);
|
void swap(CellData & rhs);
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user