Skip to content

Commit 3a6d83c

Browse files
committed
avoid rendering, if nothing has changed
1 parent 0cb3b92 commit 3a6d83c

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

src/OpenCOVER/cover/ui/Element.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ Group *Element::parent() const
8383

8484
void Element::setParent(Group *parent)
8585
{
86+
if (parent == m_parent)
87+
return;
8688
if (m_parent)
8789
manager()->queueUpdate(m_parent, UpdateChildren);
8890
m_parent = parent;
@@ -107,8 +109,11 @@ std::set<Container *> Element::containers()
107109

108110
void Element::setText(const std::string &label)
109111
{
110-
m_label = label;
111-
manager()->queueUpdate(this, UpdateText);
112+
if (label != m_label)
113+
{
114+
m_label = label;
115+
manager()->queueUpdate(this, UpdateText);
116+
}
112117
}
113118

114119
const std::string &Element::text() const
@@ -126,6 +131,7 @@ bool Element::visible(const View *view) const
126131

127132
void Element::setVisible(bool flag, int viewBits)
128133
{
134+
auto oldbits = m_viewBits;
129135
if (flag)
130136
{
131137
m_viewBits |= viewBits;
@@ -134,7 +140,8 @@ void Element::setVisible(bool flag, int viewBits)
134140
{
135141
m_viewBits &= ~viewBits;
136142
}
137-
manager()->queueUpdate(this, UpdateVisible);
143+
if (m_viewBits != oldbits)
144+
manager()->queueUpdate(this, UpdateVisible);
138145
}
139146

140147
bool Element::enabled() const
@@ -144,8 +151,11 @@ bool Element::enabled() const
144151

145152
void Element::setEnabled(bool flag)
146153
{
147-
m_enabled = flag;
148-
manager()->queueUpdate(this, UpdateEnabled);
154+
if (flag != m_enabled)
155+
{
156+
m_enabled = flag;
157+
manager()->queueUpdate(this, UpdateEnabled);
158+
}
149159
}
150160

151161
void Element::trigger() const

0 commit comments

Comments
 (0)