mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 02:14:50 +00:00
Fix the assertion assert introduced in r34348 which got fired when eg. deselecting an InsetCommand:
- we have to have a copy constructor in InsetCommand to clear the mouse_hover_ map and not to copy it, - there is no need to have mouse_hover_() in the initialisation list, - there is no need to copy the auto_open_ map. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34353 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
60466235fe
commit
9c8e7429fa
@ -50,17 +50,15 @@ InsetCollapsable::InsetCollapsable(Buffer * buf, InsetText::UsePlain ltype)
|
||||
}
|
||||
|
||||
|
||||
// The sole purpose of this copy constructor is to make sure
|
||||
// that the mouse_hover_ map is not copied and remains empty.
|
||||
InsetCollapsable::InsetCollapsable(InsetCollapsable const & rhs)
|
||||
: InsetText(rhs),
|
||||
status_(rhs.status_),
|
||||
labelstring_(rhs.labelstring_),
|
||||
button_dim(rhs.button_dim),
|
||||
openinlined_(rhs.openinlined_),
|
||||
auto_open_(rhs.auto_open_),
|
||||
// the sole purpose of this copy constructor
|
||||
mouse_hover_()
|
||||
{
|
||||
}
|
||||
openinlined_(rhs.openinlined_)
|
||||
{}
|
||||
|
||||
|
||||
InsetCollapsable::~InsetCollapsable()
|
||||
@ -182,7 +180,7 @@ Dimension InsetCollapsable::dimensionCollapsed(BufferView const & bv) const
|
||||
|
||||
void InsetCollapsable::metrics(MetricsInfo & mi, Dimension & dim) const
|
||||
{
|
||||
auto_open_[mi.base.bv] = mi.base.bv->cursor().isInside(this);
|
||||
auto_open_[mi.base.bv] = mi.base.bv->cursor().isInside(this);
|
||||
|
||||
FontInfo tmpfont = mi.base.font;
|
||||
mi.base.font = getLayout().font();
|
||||
@ -250,7 +248,7 @@ void InsetCollapsable::draw(PainterInfo & pi, int x, int y) const
|
||||
{
|
||||
BufferView const & bv = *pi.base.bv;
|
||||
|
||||
auto_open_[&bv] = bv.cursor().isInside(this);
|
||||
auto_open_[&bv] = bv.cursor().isInside(this);
|
||||
|
||||
FontInfo tmpfont = pi.base.font;
|
||||
pi.base.font = getLayout().font();
|
||||
|
@ -59,6 +59,13 @@ InsetCommand::InsetCommand(Buffer * buf, InsetCommandParams const & p,
|
||||
{}
|
||||
|
||||
|
||||
// The sole purpose of this copy constructor is to make sure
|
||||
// that the mouse_hover_ map is not copied and remains empty.
|
||||
InsetCommand::InsetCommand(InsetCommand const & rhs)
|
||||
: Inset(rhs), p_(rhs.p_), mailer_name_(rhs.mailer_name_)
|
||||
{}
|
||||
|
||||
|
||||
InsetCommand::~InsetCommand()
|
||||
{
|
||||
if (!mailer_name_.empty())
|
||||
|
@ -38,6 +38,8 @@ public:
|
||||
InsetCommand(Buffer *, InsetCommandParams const &,
|
||||
std::string const & mailer_name);
|
||||
///
|
||||
InsetCommand(InsetCommand const & rhs);
|
||||
///
|
||||
~InsetCommand();
|
||||
|
||||
/// returns true if params are successfully read
|
||||
|
Loading…
Reference in New Issue
Block a user