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

List:       kwin
Subject:    Re: FIX for XSYNC issue, bugs 178269, 183263, 241094,
From:       Thomas =?iso-8859-15?q?L=FCbking?= <thomas.luebking () web ! de>
Date:       2010-09-09 18:03:08
Message-ID: 201009092003.08879.thomas.luebking () web ! de
[Download RAW message or body]

errr.. BUMP...?!

since comment #15 of bug #178269 confirms this patch fixes it and this bug 
sounds pretty severe (if you're hit, kwin is unusuble and deactivating 
compositing won't help) and i can confirm a fix for the testcase in the other 
bug and the worst case (i don't think so, but...) would be that XSYNC isn't 
invoked at all, i'd like to hear either 
- a strict VETO or 
- (preferably) "ship it" or 
- will just dare to COMMIT IT "IN A FEW DAYS" (sorry for shouting)

Cheers,
Thomas


Am Thursday 15 July 2010 schrieb Thomas Lübking:
> as clemens kindly provided a testcase on bug 243094 and after testing the
> code a bit i think i found the source of the issue and a fix.
> 
> disclaimer:
> i've no knowledge about the protocol design at all, sorry
> 
> it turned out that if a second sync request is send to the client before a
> sync event is received this seems to mess up things in the client and no
> more sync events are received in kwin for that client.
> 
> the solution was to move the unconditioned "sync_resize_pending = false;"
> into the Client::syncEvent()
> 
> this fixes the testcase, it will no more fallback to the sync timer (notice
> that a 10 second block after 50 resize events in the testcase is intended
> and raises the issue)
> 
> i also tested a(n unsync')d wine client w/o any regression.
> 
> it would be great if whoever wrote the XSYNC code could have a look into
> this solution and merge it or give an Ok to commit.
> 
> Thanks,
> Thomas


["fix_178269_et_al.diff" (text/x-patch)]

Index: events.cpp
===================================================================
--- events.cpp	(Revision 1149465)
+++ events.cpp	(Arbeitskopie)
@@ -1698,6 +1698,7 @@
             sync_timeout = NULL;
             if( sync_resize_pending )
                 performMoveResize();
+            sync_resize_pending = false;
             }
         }
     }
Index: geometry.cpp
===================================================================
--- geometry.cpp	(Revision 1149465)
+++ geometry.cpp	(Arbeitskopie)
@@ -3299,7 +3299,6 @@
         sendSyncRequest();
         }
 #endif
-    sync_resize_pending = false;
     if( transparent )
         {
         if( !haveResizeEffect )


_______________________________________________
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