[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    D8917: Reduce the amount of spurious property changes on ColorScope
From:       David Edmundson <noreply () phabricator ! kde ! org>
Date:       2017-11-30 8:48:59
Message-ID: 20171130084859.120039.F422AE0EF47BFB3A () phabricator ! kde ! org
[Download RAW message or body]

davidedmundson requested changes to this revision.
davidedmundson added a comment.
This revision now requires changes to proceed.


  Concept is good.

INLINE COMMENTS

> colorscope.cpp:127
> }
> +    m_lastGroup = m_group;
> return m_group;

It's weird to be caching in a public getter.

It opens us up for problems

If some client code (for whatever reason) did 
connect(scope, inheritChanged, []() {scope->colorGroup());

then our signals in checkColorGroupChanged won't get emitted.

Can we move this member var into checkColorGroupChanged? Means we can get rid of the mutable too

REPOSITORY
  R242 Plasma Framework (Library)

REVISION DETAIL
  https://phabricator.kde.org/D8917

To: apol, #plasma, mart, davidedmundson
Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, \
jensreuterberg, abetts, sebas, apol, mart


[Attachment #3 (unknown)]

<table><tr><td style="">davidedmundson requested changes to this revision.<br />davidedmundson added a \
comment.<br />This revision now requires changes to proceed. </td><a style="text-decoration: none; \
padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; \
background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: \
inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D8917" \
rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>Concept is good.</p></div></div><br \
/><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px \
solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; \
border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: \
#eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" \
href="https://phabricator.kde.org/D8917#inline-40793" rel="noreferrer">View Inline</a><span style="color: \
#4b4d51; font-weight: bold;">colorscope.cpp:127</span></div> <div style="font: 11px/15px \
&quot;Menlo&quot;, &quot;Consolas&quot;, &quot;Monaco&quot;, monospace; white-space: pre-wrap; clear: \
both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">    <span \
class="p">}</span> </div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, \
.6);">    <span class="n">m_lastGroup</span> <span style="color: #aa2211">=</span> <span \
class="n">m_group</span><span class="p">;</span> </div><div style="padding: 0 8px; margin: 0 4px; ">    \
<span style="color: #aa4000">return</span> <span class="n">m_group</span><span class="p">;</span> \
</div></div></div> <div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: \
8px;">It&#039;s weird to be caching in a public getter.</p>

<p style="padding: 0; margin: 8px;">It opens us up for problems</p>

<p style="padding: 0; margin: 8px;">If some client code (for whatever reason) did <br />
connect(scope, inheritChanged, []() {scope-&gt;colorGroup());</p>

<p style="padding: 0; margin: 8px;">then our signals in checkColorGroupChanged won&#039;t get \
emitted.</p>

<p style="padding: 0; margin: 8px;">Can we move this member var into checkColorGroupChanged? Means we can \
get rid of the mutable too</p></div></div></div></div></div><br \
/><div><strong>REPOSITORY</strong><div><div>R242 Plasma Framework (Library)</div></div></div><br \
/><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8917" \
rel="noreferrer">https://phabricator.kde.org/D8917</a></div></div><br /><div><strong>To: </strong>apol, \
Plasma, mart, davidedmundson<br /><strong>Cc: </strong>davidedmundson, plasma-devel, Frameworks, ZrenBot, \
progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic