diff --git a/src/servers/app/server/Layer.cpp b/src/servers/app/server/Layer.cpp index fa6215bc99..108b012cbb 100644 --- a/src/servers/app/server/Layer.cpp +++ b/src/servers/app/server/Layer.cpp @@ -471,7 +471,7 @@ void Layer::RequestDraw(const BRegion ®, Layer *startFrom) // calculate the update region, then... fUpdateReg = fVisible; - if (fFlags & B_FULL_UPDATE_ON_RESIZE){ } + if (fFlags & B_FULL_UPDATE_ON_RESIZE && fFrameAction == B_LAYER_RESIZE){ } else { fUpdateReg.IntersectWith(®); } if (fUpdateReg.CountRects() > 0) @@ -1015,9 +1015,9 @@ void Layer::MoveBy(float x, float y) debugger("ERROR: in Layer::MoveBy()! - No parent!\n"); return; } - + fFrameAction = B_LAYER_MOVE; - + BPoint pt(x,y); BRect rect(fFull.Frame().OffsetByCopy(pt)); @@ -1120,9 +1120,9 @@ void Layer::ResizeBy(float x, float y) printf("ERROR: in Layer::MoveBy()! - No parent!\n"); return; } - + fFrameAction = B_LAYER_RESIZE; - + BPoint pt(x,y); BRect rect(fFull.Frame()); rect.right += x; @@ -1136,7 +1136,7 @@ void Layer::ResizeBy(float x, float y) EmptyGlobals(); fFrameAction = B_LAYER_NONE; - + STRACE(("Layer(%s)::ResizeBy() END\n", GetName())); } diff --git a/src/servers/app/server/Layer.h b/src/servers/app/server/Layer.h index 95d354b136..71c8f75afc 100644 --- a/src/servers/app/server/Layer.h +++ b/src/servers/app/server/Layer.h @@ -12,11 +12,11 @@ enum { - B_LAYER_NONE = 0x1U, - B_LAYER_MOVE = 0x2U, - B_LAYER_SIMPLE_MOVE = 0x3U, - B_LAYER_RESIZE = 0x4U, - B_LAYER_MASK_RESIZE = 0x5U, + B_LAYER_NONE = 1, + B_LAYER_MOVE = 2, + B_LAYER_SIMPLE_MOVE = 3, + B_LAYER_RESIZE = 4, + B_LAYER_MASK_RESIZE = 5, }; enum @@ -157,7 +157,7 @@ protected: bool fIsTopLayer; uint16 fAdFlags; int8 fClassID; - bool fFrameAction; + int8 fFrameAction; DisplayDriver *fDriver; LayerData *fLayerData;