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);