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

List:       kwin
Subject:    Re: Review Request: Compositor singleton and remove superfluous Compositor checks in events.cpp
From:       Martin_Gräßlin <kde () martin-graesslin ! com>
Date:       2012-08-30 20:59:23
Message-ID: 20120830205923.21789.41250 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> On Aug. 30, 2012, 8:18 p.m., Thomas Lübking wrote:
> > kwin/composite.h, line 137
> > <http://git.reviewboard.kde.org/r/106255/diff/3/?file=82411#file82411line137>
> > 
> > static CompositingType compositing() {
> > return s_compositor && s_compositor->isActive() ? effects->compositingType() : \
> > NoCompositing; }
> > 
> > ?? - Sorry for being pita =)

not sure if it's worth it. It's only used in Client in one method and that particular \
code is messy anyway - that is I want to rework it.


- Martin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106255/#review18291
-----------------------------------------------------------


On Aug. 30, 2012, 7:44 p.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106255/
> -----------------------------------------------------------
> 
> (Updated Aug. 30, 2012, 7:44 p.m.)
> 
> 
> Review request for kwin.
> 
> 
> Description
> -------
> 
> Remove superfluous Compositor checks in events.cpp
> 
> compositing() ensures that m_compositor is not null.
> 
> Make the Compositor a proper Singleton
> 
> The Compositor class actually behaves like a Singleton so it should be
> one. Therefore four static methods are added:
> * self() to access the Singleton
> * createCompositor() to be used by Workspace to create the instance
> * isCreated() to have a simple check whether the Singleton is already
> created
> * compositing() as a shortcut to test whether the compositor has been
> created and is active
> 
> The isCreated() check is actually required as especially Clients might
> be created and trying to access the Compositor before it is setup.
> 
> 
> Diffs
> -----
> 
> kwin/bridge.cpp 670063e2276a506e0b3f3e29d2fef3b946032f82 
> kwin/client.cpp 569494418117f3b987f05c844debac48a88ed05d 
> kwin/composite.h a4a37107ffe4981e9758c9ff65779c646ae94ffb 
> kwin/composite.cpp 640ebd6a3c09e82492d79b9b2d68d752d6a0c62c 
> kwin/events.cpp 23e1921bfa653fcf399378c0328733fb996b9d1f 
> kwin/geometry.cpp 19a911d097c3fd87da28ede9dc9fd362310146cc 
> kwin/paintredirector.cpp 55b20c4f4eae2723df46e92654c851e912cd5008 
> kwin/workspace.h 3f4bd9f93a27c832fef913e5fdbcc24518fadb4d 
> kwin/workspace.cpp e03e5e765bea8d098bd86dd5118198ddccd8fd8d 
> 
> Diff: http://git.reviewboard.kde.org/r/106255/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
> 


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/106255/">http://git.reviewboard.kde.org/r/106255/</a>
  </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <p style="margin-top: 0;">On August 30th, 2012, 8:18 p.m., <b>Thomas \
Lübking</b> wrote:</p>  <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;">  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/106255/diff/3/?file=82411#file82411line137" \
style="color: black; font-weight: bold; text-decoration: \
underline;">kwin/composite.h</a>  <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class \
Compositor : public QObject {</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">136</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="k">static</span> <span class="n">bool</span> <span \
class="nf">compositing</span><span class="p">()</span> <span \
class="p">{</span></pre></td>  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">static CompositingType \
compositing() {  return s_compositor &amp;&amp; s_compositor-&gt;isActive() ? \
effects-&gt;compositingType() : NoCompositing; }

?? - Sorry for being pita =)</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">not sure if \
it&#39;s worth it. It&#39;s only used in Client in one method and that particular \
code is messy anyway - that is I want to rework it.</pre> <br />




<p>- Martin</p>


<br />
<p>On August 30th, 2012, 7:44 p.m., Martin Gräßlin wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for kwin.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated Aug. 30, 2012, 7:44 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Remove superfluous Compositor checks in events.cpp

compositing() ensures that m_compositor is not null.

Make the Compositor a proper Singleton

The Compositor class actually behaves like a Singleton so it should be
one. Therefore four static methods are added:
* self() to access the Singleton
* createCompositor() to be used by Workspace to create the instance
* isCreated() to have a simple check whether the Singleton is already
  created
* compositing() as a shortcut to test whether the compositor has been
  created and is active

The isCreated() check is actually required as especially Clients might
be created and trying to access the Compositor before it is setup.</pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>kwin/bridge.cpp <span style="color: \
grey">(670063e2276a506e0b3f3e29d2fef3b946032f82)</span></li>

 <li>kwin/client.cpp <span style="color: \
grey">(569494418117f3b987f05c844debac48a88ed05d)</span></li>

 <li>kwin/composite.h <span style="color: \
grey">(a4a37107ffe4981e9758c9ff65779c646ae94ffb)</span></li>

 <li>kwin/composite.cpp <span style="color: \
grey">(640ebd6a3c09e82492d79b9b2d68d752d6a0c62c)</span></li>

 <li>kwin/events.cpp <span style="color: \
grey">(23e1921bfa653fcf399378c0328733fb996b9d1f)</span></li>

 <li>kwin/geometry.cpp <span style="color: \
grey">(19a911d097c3fd87da28ede9dc9fd362310146cc)</span></li>

 <li>kwin/paintredirector.cpp <span style="color: \
grey">(55b20c4f4eae2723df46e92654c851e912cd5008)</span></li>

 <li>kwin/workspace.h <span style="color: \
grey">(3f4bd9f93a27c832fef913e5fdbcc24518fadb4d)</span></li>

 <li>kwin/workspace.cpp <span style="color: \
grey">(e03e5e765bea8d098bd86dd5118198ddccd8fd8d)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/106255/diff/" style="margin-left: \
3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>



_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


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

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