[haiku-commits] r35451 - haiku/trunk/src/kits/interface

  • From: superstippi@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 11 Feb 2010 14:47:29 +0100 (CET)

Author: stippi
Date: 2010-02-11 14:47:29 +0100 (Thu, 11 Feb 2010)
New Revision: 35451
Changeset: http://dev.haiku-os.org/changeset/35451/haiku

Modified:
   haiku/trunk/src/kits/interface/View.cpp
Log:
The decision to inform the server about changed flags needs to depend on the
changed flags, not on the new flags! Fixes the server and client going out of
sync when clearing any flag that the server needs to know about.


Modified: haiku/trunk/src/kits/interface/View.cpp
===================================================================
--- haiku/trunk/src/kits/interface/View.cpp     2010-02-11 06:41:13 UTC (rev 
35450)
+++ haiku/trunk/src/kits/interface/View.cpp     2010-02-11 13:47:29 UTC (rev 
35451)
@@ -862,8 +862,9 @@
                                fOwner->SetPulseRate(fOwner->PulseRate());
                }
 
-               if (flags & (B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE
-                                       | B_FRAME_EVENTS | B_SUBPIXEL_PRECISE)) 
{
+               uint32 changesFlags = flags ^ fFlags;
+               if (changesFlags & (B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE
+                               | B_FRAME_EVENTS | B_SUBPIXEL_PRECISE)) {
                        _CheckLockAndSwitchCurrent();
 
                        fOwner->fLink->StartMessage(AS_VIEW_SET_FLAGS);


Other related posts:

  • » [haiku-commits] r35451 - haiku/trunk/src/kits/interface - superstippi