<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>308438</bug_id>
          
          <creation_ts>2012-10-15 14:01:01 +0000</creation_ts>
          <short_desc>When compositing is disabled, opening a window which blocks compositing *enables* it</short_desc>
          <delta_ts>2013-05-20 09:58:52 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Plasma</classification>
          <product>kwin</product>
          <component>compositing</component>
          <version>4.9.2</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://git.reviewboard.kde.org/r/106900/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>4.10</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ralf Jung">post</reporter>
          <assigned_to name="KWin default assignee">kwin-bugs-null</assigned_to>
          <cc>eshkrig</cc>
          
          <cf_commitlink>http://commits.kde.org/kde-workspace/7df368b35d27b27c3cb7da4802daa541a89dc773</cf_commitlink>
          <cf_versionfixedin>4.9.3</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      <flag name="ReviewRequest"
          id="382"
          type_id="14"
          status="+"
          setter="mgraesslin"
    />

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1306149</commentid>
    <comment_count>0</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 14:01:01 +0000</bug_when>
    <thetext>When a window sets the &quot;block compositing&quot; property while compositing is disabled, compositing gets enabled.

Reproducible: Always

Steps to Reproduce:
1. Start with compositing enabled. Open a Konsole.
2. In the window menu, choose &quot;More Actions - Special Window Settings...&quot;
3. In the &quot;Appearance&quot; tab, enable &quot;Block compositing&quot;, choose &quot;Force&quot; and &quot;yes&quot;
4. Close all window (at least all Konsole windows and all the others which have the &quot;block composite&quot; property).
5. Verify that opening a Konsole will block compositing, and closing it will re-enable compositing. Make sure it is closed.
6. Hit Ctrl+Alt+F12 to disable compositing
7. Start a Konsole.
Actual Results:  
Compositing is *enabled*.

Expected Results:  
Of course, compositing should stay disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306154</commentid>
    <comment_count>1</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 14:15:21 +0000</bug_when>
    <thetext>Looking at the code, this is actually not surprising:
In composite.cpp, Workspace::updateCompositeBlocking *toggles* compositing when seeing the first client with the property set. The suspend call should probably be something like

QMetaObject::invokeMethod(this, &quot;suspendCompositing&quot;, Qt::QueuedConnection, Q_ARG(bool, true));

However, if compositing was disabled, this needs to be remembered for when the last blocking window closes. This could be achieved by not setting compositingBlocked to true if it was already blocked, but the comment says

do NOT check for &quot;compositingSuspended&quot; or &quot;!compositing()&quot;

Nevertheless, a few lines down, compositingSuspended *is* checked.

This is all in the KDE/4.9 branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306161</commentid>
    <comment_count>2</comment_count>
      <attachid>74560</attachid>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 14:43:44 +0000</bug_when>
    <thetext>Created attachment 74560
Fix handling of compositing-blocking windows when  compositing is already disabled


Attached patch fixes the problem here. Is it okay to go, should I open a review request or use a different approach?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306164</commentid>
    <comment_count>3</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2012-10-15 14:56:28 +0000</bug_when>
    <thetext>The patch pollutes the &quot;compositingBlocked&quot; state if compositingSuspended &amp;&amp; c-&gt;isBlockingCompositing()

Also since there&apos;s now a distinct suspend(bool) slot, the compositingSuspended check can be just omitted.

Notice that git master fundamentally differs for the introduction of the compositor class and as of now, composite blocking seems to not wor at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306177</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2012-10-15 15:27:09 +0000</bug_when>
    <thetext>&gt; Notice that git master fundamentally differs for the introduction of the
&gt; compositor class and as of now, composite blocking seems to not wor at all.
what? I&apos;m quite sure I tested that (as I was afraid of breaking it).

But given the changes between 4.9 and master in that area we will probably 
need two patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306182</commentid>
    <comment_count>5</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 15:35:55 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; The patch pollutes the &quot;compositingBlocked&quot; state if compositingSuspended &amp;&amp;
&gt; c-&gt;isBlockingCompositing()
How that? If the window is blocking compositing and compositing was not yet blocked (this merges the formerly two ifs), it will get blocked unless it&apos;s manually suspended.
I am available in IRC (#kde-devel).

(In reply to comment #4)
&gt; &gt; Notice that git master fundamentally differs for the introduction of the
&gt; &gt; compositor class and as of now, composite blocking seems to not wor at all.
&gt; what? I&apos;m quite sure I tested that (as I was afraid of breaking it).
Yes, it seems to ignore the blocking here as well - probably a different bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306184</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2012-10-15 15:41:29 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; &gt; Notice that git master fundamentally differs for the introduction of the
&gt; &gt; &gt; compositor class and as of now, composite blocking seems to not wor at all.
&gt; &gt; what? I&apos;m quite sure I tested that (as I was afraid of breaking it).
&gt; Yes, it seems to ignore the blocking here as well - probably a different bug?
probably, given the rather large refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306191</commentid>
    <comment_count>7</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2012-10-15 15:59:57 +0000</bug_when>
    <thetext>(In reply to comment #4)

&gt; what? I&apos;m quite sure I tested that (as I was afraid of breaking it).
the function is not called, only updateCompositeBlocking(NULL) is.(

In reply to comment #5)
&gt; How that?
As far as i can say from the plaintext patch, &quot;compositingBlocked = true;&quot; is not called if &quot;compositingSuspended == true&quot;, despite &quot;c-&gt;isBlockingCompositing()&quot; is, thus the state becomes invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306192</commentid>
    <comment_count>8</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 16:01:56 +0000</bug_when>
    <thetext>(In reply to comment #7)
&gt; In reply to comment #5)
&gt; &gt; How that?
&gt; As far as i can say from the plaintext patch, &quot;compositingBlocked = true;&quot;
&gt; is not called if &quot;compositingSuspended == true&quot;, despite
&gt; &quot;c-&gt;isBlockingCompositing()&quot; is, thus the state becomes invalid.
That&apos;s true, but it is necessary: If compositingBlocked were set to true, then compositing would be resumed after the last compositing-blocking window is closed - even if compositing was manually suspended previously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306197</commentid>
    <comment_count>9</comment_count>
      <attachid>74564</attachid>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 16:06:51 +0000</bug_when>
    <thetext>Created attachment 74564
Fix handling of compositing-blocking windows when compositing is already disabled (v2)

Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306198</commentid>
    <comment_count>10</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2012-10-15 16:10:15 +0000</bug_when>
    <thetext>(In reply to comment #7)

&gt; &gt; what? I&apos;m quite sure I tested that (as I was afraid of breaking it).
&gt; the function is not called, only updateCompositeBlocking(NULL) is.

workspace.cpp / ::createClient binds 
connect(c, SIGNAL(blockingCompositingChanged(KWin::Client*)), m_compositor, SLOT(updateCompositeBlocking(KWin::Client*)));

after conditional invocation in &quot;!c-&gt;manage(w, is_mapped)&quot;

The connects could and likely should happen after the construction and before the management attempt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306202</commentid>
    <comment_count>11</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2012-10-15 16:25:58 +0000</bug_when>
    <thetext>(In reply to comment #8)

&gt; That&apos;s true, but it is necessary: If compositingBlocked were set to true,
&gt; then compositing would be resumed after the last compositing-blocking window
&gt; is closed - even if compositing was manually suspended previously.

This will require a slight more complex check that store resumeCompositing alongside setting the blocked state and alters it with external susped/resume requests, shifting the variable meaning won&apos;t resolve this ;-P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306203</commentid>
    <comment_count>12</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 16:28:57 +0000</bug_when>
    <thetext>I can&apos;t think of a situation in which the behaviour this patch implements is wrong. No matter whether the initial compositing state is enabled or disabled, it will be restored after the last window is closed.
If you could tell me under which circumstances the behaviour should be different, I can try to fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306212</commentid>
    <comment_count>13</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2012-10-15 17:09:36 +0000</bug_when>
    <thetext>suspend compositing (alt+shift+f12)
launch blocking client // m_blocked = false
resume compositing (alt+shift+f12)
launch blocking client // m_blocked = true
suspend compositing (alt+shift+f12)
close blocking clients // (m_blocked == true)
-&gt; compositing gets resumed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306229</commentid>
    <comment_count>14</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 17:45:03 +0000</bug_when>
    <thetext>I see. I will open a review request as this has more side-effects than I anticipated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306238</commentid>
    <comment_count>15</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 18:04:37 +0000</bug_when>
    <thetext>(In reply to comment #13)
&gt; suspend compositing (alt+shift+f12)
&gt; launch blocking client // m_blocked = false
&gt; resume compositing (alt+shift+f12)
&gt; launch blocking client // m_blocked = true
&gt; suspend compositing (alt+shift+f12)
Actually this does not work - when the blocking client is launched, compositing is automatically suspended. Of course, it will be resumed later. If however I hit alt+shift+F12 two times, then the new patch shows the desired behaviour of not resuming composite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306254</commentid>
    <comment_count>16</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2012-10-15 19:06:43 +0000</bug_when>
    <thetext>Sorry, forgot a resume, but just tested and this:

suspend compositing (alt+shift+f12)
launch blocking client // m_blocked = false
resume compositing (alt+shift+f12)
launch blocking client // m_blocked = true
resume compositing (alt+shift+f12)
suspend compositing (alt+shift+f12)
close blocking clients // (m_blocked == true)

resumes the compositor.

That&apos;s no wonder, because the system currently does not store the compositing state request from user (shortcut, dbus) and system (blocked for window) independently.

If that&apos;s demanded (given the initial bug, it seems so) the m_suspended state either needs to be a flag (ByUser = 1, ByBlockingClient = 2) and the resume after a block may only happen
m_suspended &amp;= ~ByBlockingClient;
if (!m_suspended)
   ::invoke(&quot;resume&quot;);

or there need to be an additional boolean about the user driven compositing state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306298</commentid>
    <comment_count>17</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-10-15 20:48:12 +0000</bug_when>
    <thetext>The current patch is at https://git.reviewboard.kde.org/r/106900/ and I will reply over there to avois splitting the thread too much.
(Should&apos;ve opened a review request from the start, sorry for that)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1306304</commentid>
    <comment_count>18</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2012-10-15 20:56:29 +0000</bug_when>
    <thetext>(In reply to comment #17)
&gt; (Should&apos;ve opened a review request from the start, sorry for that)
no problem at all, the systems are connected (well at least kind of)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311413</commentid>
    <comment_count>19</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-11-01 13:04:43 +0000</bug_when>
    <thetext>Git commit d61ee825eceac212c4aa4d011c47a82ec92ade9a by Ralf Jung.
Committed on 26/10/2012 at 16:18.
Pushed by ralfjung into branch &apos;KDE/4.9&apos;.

do not resume compositing when it&apos;s suspended and a client blocks it

REVIEW: 106900

M  +6    -3    kwin/composite.cpp

http://commits.kde.org/kde-workspace/d61ee825eceac212c4aa4d011c47a82ec92ade9a</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311608</commentid>
    <comment_count>20</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-11-01 21:41:46 +0000</bug_when>
    <thetext>The bug is not actually fixed, behaviour got just a bit better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311660</commentid>
    <comment_count>21</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2012-11-02 06:45:59 +0000</bug_when>
    <thetext>(In reply to comment #20)
&gt; The bug is not actually fixed, behaviour got just a bit better.
but it is fixed in master, isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311680</commentid>
    <comment_count>22</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2012-11-02 09:42:05 +0000</bug_when>
    <thetext>(In reply to comment #21)
&gt; but it is fixed in master, isn&apos;t it?
Last time I checked, no: If compositing is disabled, opening a blocking window will (correctly) do nothing. However, closing that window again will start compositing.
To prevent this, the original compositing state needs to be remembered when a blocking window is opened, and properly restored. However, since the user can manually toggle compositing even when a blocking window is present, it&apos;s not entirely clear what the expected behaviour is.
I can propose a patch against master which implements the behaviour I&apos;d expect, and open a review request. As far as I remember, Thomas expects a different behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320716</commentid>
    <comment_count>23</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2012-12-03 14:07:03 +0000</bug_when>
    <thetext>*** Bug 311081 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330127</commentid>
    <comment_count>24</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2013-01-09 07:33:53 +0000</bug_when>
    <thetext>@Ralf: what&apos;s the current state in 4.10 branch? If it&apos;s not fixed we should try to get it fixed before RC 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330198</commentid>
    <comment_count>25</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2013-01-09 11:21:21 +0000</bug_when>
    <thetext>The current state is - as far as I know (didn&apos;t test in a while) - still as described above: If compositing is disabled, opening a blocking window will (correctly) do nothing. However, closing that window again will start compositing.
We could not agree on the correct behaviour to fix this. I proposed the following behaviour in my patch:
KWin maintains a flag whether compositing was automatically suspended by a window. This flag is reset whenever the user manually toggles compositing.
When a window with composite-blocking is opened, if compositing is already disabled or the flag is set, nothing happens. If compositing is enabled, the flag is set and compositing is disabled.
When the last blocking window is closed, if the flag is set, compositing is enabled and the flag reset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334792</commentid>
    <comment_count>26</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2013-01-23 21:12:24 +0000</bug_when>
    <thetext>Git commit 7df368b35d27b27c3cb7da4802daa541a89dc773 by Thomas Lübking.
Committed on 09/01/2013 at 16:03.
Pushed by luebking into branch &apos;master&apos;.

32 bit compositing suspension

REVIEW: 108304

M  +25   -29   kwin/composite.cpp
M  +15   -8    kwin/composite.h

http://commits.kde.org/kde-workspace/7df368b35d27b27c3cb7da4802daa541a89dc773</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369918</commentid>
    <comment_count>27</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2013-05-20 09:53:55 +0000</bug_when>
    <thetext>I see this buggy behaviour in KDE 4.10.3 again - no idea when it came back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369921</commentid>
    <comment_count>28</comment_count>
    <who name="Ralf Jung">post</who>
    <bug_when>2013-05-20 09:58:52 +0000</bug_when>
    <thetext>Oops, I&apos;m sorry. This is just the &quot;compositing is re-enabled when the window is closed&quot; bug, which I thought was fixed in KDE 4.10, but it is not. Sorry for the noise.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74560</attachid>
            <date>2012-10-15 14:43:44 +0000</date>
            <delta_ts>2012-10-15 16:06:51 +0000</delta_ts>
            <desc>Fix handling of compositing-blocking windows when  compositing is already disabled</desc>
            <filename>0001-Fix-handling-of-compositing-blocking-windows-when-co.patch</filename>
            <type>text/plain</type>
            <size>1753</size>
            <attacher name="Ralf Jung">post</attacher>
            
              <data encoding="base64">RnJvbSBjMWM5NjE3OWQ3NDM4MDMwYWQ2ZWEwYjE1ZTdjZmZlZmYxNjRiY2FjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWxmIEp1bmcgPHBvc3RAcmFsZmouZGU+CkRhdGU6IE1vbiwg
MTUgT2N0IDIwMTIgMTY6MzE6NTEgKzAyMDAKU3ViamVjdDogW1BBVENIXSBGaXggaGFuZGxpbmcg
b2YgY29tcG9zaXRpbmctYmxvY2tpbmcgd2luZG93cyB3aGVuCiBjb21wb3NpdGluZyBpcyBhbHJl
YWR5IGRpc2FibGVkCgotLS0KIGt3aW4vY29tcG9zaXRlLmNwcCB8ICAgIDggKysrKy0tLS0KIDEg
ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEva3dpbi9jb21wb3NpdGUuY3BwIGIva3dpbi9jb21wb3NpdGUuY3BwCmluZGV4IDZlZDgyODku
LmU2YWI0YzUgMTAwNjQ0Ci0tLSBhL2t3aW4vY29tcG9zaXRlLmNwcAorKysgYi9rd2luL2NvbXBv
c2l0ZS5jcHAKQEAgLTMwMiw5ICszMDIsOSBAQCBRU3RyaW5nTGlzdCBXb3Jrc3BhY2U6OmFjdGl2
ZUVmZmVjdHMoKSBjb25zdAogdm9pZCBXb3Jrc3BhY2U6OnVwZGF0ZUNvbXBvc2l0ZUJsb2NraW5n
KENsaWVudCAqYykKIHsKICAgICBpZiAoYykgeyAvLyBpZiBjID09IDAgd2UganVzdCBjaGVjayBp
ZiB3ZSBjYW4gcmVzdW1lCi0gICAgICAgIGlmIChjLT5pc0Jsb2NraW5nQ29tcG9zaXRpbmcoKSkg
ewotICAgICAgICAgICAgaWYgKCFjb21wb3NpdGluZ0Jsb2NrZWQpIC8vIGRvIE5PVCBhdHRlbXB0
IHRvIGNhbGwgc3VzcGVuZENvbXBvc2l0aW5nKHRydWUpOyBmcm9tIHdpdGhpbiB0aGUgZXZlbnRj
aGFpbiEKLSAgICAgICAgICAgICAgICBRTWV0YU9iamVjdDo6aW52b2tlTWV0aG9kKHRoaXMsICJz
bG90VG9nZ2xlQ29tcG9zaXRpbmciLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7CisgICAgICAgIGlm
IChjLT5pc0Jsb2NraW5nQ29tcG9zaXRpbmcoKSAmJiAhY29tcG9zaXRpbmdTdXNwZW5kZWQgJiYg
IWNvbXBvc2l0aW5nQmxvY2tlZCkgeworICAgICAgICAgICAgLy8gZG8gTk9UIGF0dGVtcHQgdG8g
Y2FsbCBzdXNwZW5kQ29tcG9zaXRpbmcodHJ1ZSk7IGZyb20gd2l0aGluIHRoZSBldmVudGNoYWlu
IQorICAgICAgICAgICAgUU1ldGFPYmplY3Q6Omludm9rZU1ldGhvZCh0aGlzLCAic3VzcGVuZENv
bXBvc2l0aW5nIiwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24sIFFfQVJHKGJvb2wsIHRydWUpKTsKICAg
ICAgICAgICAgIGNvbXBvc2l0aW5nQmxvY2tlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9CkBA
IC0zMjEsNyArMzIxLDcgQEAgdm9pZCBXb3Jrc3BhY2U6OnVwZGF0ZUNvbXBvc2l0ZUJsb2NraW5n
KENsaWVudCAqYykKICAgICAgICAgaWYgKHJlc3VtZSkgeyAvLyBkbyBOT1QgYXR0ZW1wdCB0byBj
YWxsIHN1c3BlbmRDb21wb3NpdGluZyhmYWxzZSk7IGZyb20gd2l0aGluIHRoZSBldmVudGNoYWlu
IQogICAgICAgICAgICAgY29tcG9zaXRpbmdCbG9ja2VkID0gZmFsc2U7CiAgICAgICAgICAgICBp
ZiAoY29tcG9zaXRpbmdTdXNwZW5kZWQpCi0gICAgICAgICAgICAgICAgUU1ldGFPYmplY3Q6Omlu
dm9rZU1ldGhvZCh0aGlzLCAic2xvdFRvZ2dsZUNvbXBvc2l0aW5nIiwgUXQ6OlF1ZXVlZENvbm5l
Y3Rpb24pOworICAgICAgICAgICAgICAgIFFNZXRhT2JqZWN0OjppbnZva2VNZXRob2QodGhpcywg
InN1c3BlbmRDb21wb3NpdGluZyIsIFF0OjpRdWV1ZWRDb25uZWN0aW9uLCBRX0FSRyhib29sLCBm
YWxzZSkpOwogICAgICAgICB9CiAgICAgfQogfQotLSAKMS43LjEwLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74564</attachid>
            <date>2012-10-15 16:06:51 +0000</date>
            <delta_ts>2012-10-15 16:06:51 +0000</delta_ts>
            <desc>Fix handling of compositing-blocking windows when compositing is already disabled (v2)</desc>
            <filename>0001-Fix-handling-of-compositing-blocking-windows-when-co.patch</filename>
            <type>text/plain</type>
            <size>2215</size>
            <attacher name="Ralf Jung">post</attacher>
            
              <data encoding="base64">RnJvbSAxNGI0ZTkwN2Y2ZTVlYTIwYzNjMGUzMjRkMGUwMmFjNjgyMDc0OTY3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWxmIEp1bmcgPHBvc3RAcmFsZmouZGU+CkRhdGU6IE1vbiwg
MTUgT2N0IDIwMTIgMTY6MzE6NTEgKzAyMDAKU3ViamVjdDogW1BBVENIXSBGaXggaGFuZGxpbmcg
b2YgY29tcG9zaXRpbmctYmxvY2tpbmcgd2luZG93cyB3aGVuCiBjb21wb3NpdGluZyBpcyBhbHJl
YWR5IGRpc2FibGVkCgotLS0KIGt3aW4vY29tcG9zaXRlLmNwcCB8ICAgMTEgKysrKysrLS0tLS0K
IDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEva3dpbi9jb21wb3NpdGUuY3BwIGIva3dpbi9jb21wb3NpdGUuY3BwCmluZGV4IDZlZDgy
ODkuLmZlYjQ4YTAgMTAwNjQ0Ci0tLSBhL2t3aW4vY29tcG9zaXRlLmNwcAorKysgYi9rd2luL2Nv
bXBvc2l0ZS5jcHAKQEAgLTMwMiw5ICszMDIsMTAgQEAgUVN0cmluZ0xpc3QgV29ya3NwYWNlOjph
Y3RpdmVFZmZlY3RzKCkgY29uc3QKIHZvaWQgV29ya3NwYWNlOjp1cGRhdGVDb21wb3NpdGVCbG9j
a2luZyhDbGllbnQgKmMpCiB7CiAgICAgaWYgKGMpIHsgLy8gaWYgYyA9PSAwIHdlIGp1c3QgY2hl
Y2sgaWYgd2UgY2FuIHJlc3VtZQotICAgICAgICBpZiAoYy0+aXNCbG9ja2luZ0NvbXBvc2l0aW5n
KCkpIHsKLSAgICAgICAgICAgIGlmICghY29tcG9zaXRpbmdCbG9ja2VkKSAvLyBkbyBOT1QgYXR0
ZW1wdCB0byBjYWxsIHN1c3BlbmRDb21wb3NpdGluZyh0cnVlKTsgZnJvbSB3aXRoaW4gdGhlIGV2
ZW50Y2hhaW4hCi0gICAgICAgICAgICAgICAgUU1ldGFPYmplY3Q6Omludm9rZU1ldGhvZCh0aGlz
LCAic2xvdFRvZ2dsZUNvbXBvc2l0aW5nIiwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOworICAgICAg
ICAvLyAiY29tcG9zaXRpbmdCbG9ja2VkID0gdHJ1ZSIgbWVhbnMgIndlIGJsb2NrZWQgY29tcG9z
aXRpbmcgYmFzZWQgb24gYSB3aW5kb3cgcnVsZSwgaXQncyBva2F5IHRvIGF1dG9tYXRpY2FsbHkg
cmUtZW5hYmxlIGl0IGxhdGVyIgorICAgICAgICBpZiAoYy0+aXNCbG9ja2luZ0NvbXBvc2l0aW5n
KCkgJiYgIWNvbXBvc2l0aW5nU3VzcGVuZGVkICYmICFjb21wb3NpdGluZ0Jsb2NrZWQpIHsKKyAg
ICAgICAgICAgIC8vIGRvIE5PVCBhdHRlbXB0IHRvIGNhbGwgc3VzcGVuZENvbXBvc2l0aW5nKHRy
dWUpOyBmcm9tIHdpdGhpbiB0aGUgZXZlbnRjaGFpbiEKKyAgICAgICAgICAgIFFNZXRhT2JqZWN0
OjppbnZva2VNZXRob2QodGhpcywgInN1c3BlbmRDb21wb3NpdGluZyIsIFF0OjpRdWV1ZWRDb25u
ZWN0aW9uLCBRX0FSRyhib29sLCB0cnVlKSk7CiAgICAgICAgICAgICBjb21wb3NpdGluZ0Jsb2Nr
ZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQpAQCAtMzIwLDggKzMyMSw3IEBAIHZvaWQgV29y
a3NwYWNlOjp1cGRhdGVDb21wb3NpdGVCbG9ja2luZyhDbGllbnQgKmMpCiAgICAgICAgIH0KICAg
ICAgICAgaWYgKHJlc3VtZSkgeyAvLyBkbyBOT1QgYXR0ZW1wdCB0byBjYWxsIHN1c3BlbmRDb21w
b3NpdGluZyhmYWxzZSk7IGZyb20gd2l0aGluIHRoZSBldmVudGNoYWluIQogICAgICAgICAgICAg
Y29tcG9zaXRpbmdCbG9ja2VkID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoY29tcG9zaXRpbmdT
dXNwZW5kZWQpCi0gICAgICAgICAgICAgICAgUU1ldGFPYmplY3Q6Omludm9rZU1ldGhvZCh0aGlz
LCAic2xvdFRvZ2dsZUNvbXBvc2l0aW5nIiwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOworICAgICAg
ICAgICAgUU1ldGFPYmplY3Q6Omludm9rZU1ldGhvZCh0aGlzLCAic3VzcGVuZENvbXBvc2l0aW5n
IiwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24sIFFfQVJHKGJvb2wsIGZhbHNlKSk7CiAgICAgICAgIH0K
ICAgICB9CiB9CkBAIC0zMzMsNiArMzMzLDcgQEAgdm9pZCBXb3Jrc3BhY2U6OnN1c3BlbmRDb21w
b3NpdGluZygpCiAKIHZvaWQgV29ya3NwYWNlOjpzdXNwZW5kQ29tcG9zaXRpbmcoYm9vbCBzdXNw
ZW5kKQogeworICAgIGlmIChjb21wb3NpdGluZ1N1c3BlbmRlZCA9PSBzdXNwZW5kKSByZXR1cm47
IC8vIG5vdGhpbmcgYWN0dWFsbHkgY2hhbmdlcwogICAgIGNvbXBvc2l0aW5nU3VzcGVuZGVkID0g
c3VzcGVuZDsKICAgICBmaW5pc2hDb21wb3NpdGluZygpOwogICAgIHNldHVwQ29tcG9zaXRpbmco
KTsgLy8gd2lsbCBkbyBub3RoaW5nIGlmIHN1c3BlbmRlZAotLSAKMS43LjEwLjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>