@@ -83,6 +83,8 @@ Group *Element::parent() const
8383
8484void 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
108110void 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
114119const std::string &Element::text () const
@@ -126,6 +131,7 @@ bool Element::visible(const View *view) const
126131
127132void 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
140147bool Element::enabled () const
@@ -144,8 +151,11 @@ bool Element::enabled() const
144151
145152void 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
151161void Element::trigger () const
0 commit comments