From 4f24f3110b1ddaeb05e538696db8805045323702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Thu, 11 Feb 2010 13:47:29 +0000 Subject: [PATCH] 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. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35451 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/View.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/kits/interface/View.cpp b/src/kits/interface/View.cpp index c9e65f6c2c..d7396186a7 100644 --- a/src/kits/interface/View.cpp +++ b/src/kits/interface/View.cpp @@ -862,8 +862,9 @@ BView::SetFlags(uint32 flags) 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);