[haiku-commits] haiku: hrev44691 - src/servers/app/stackandtile

  • From: clemens.zeidler@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 11 Oct 2012 00:54:05 +0200 (CEST)

hrev44691 adds 1 changeset to branch 'master'
old head: 323abd9b89cb53e3feb8f559ecef515acea51db9
new head: d6977957a0b9929114b5f3d128d686eafa53b016

----------------------------------------------------------------------------

d697795: The current solver don't like big values.
  - Check the constraint values first.
  - Some cleanup.

                                     [ czeidler <haiku@xxxxxxxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev44691
Commit:      d6977957a0b9929114b5f3d128d686eafa53b016
URL:         http://cgit.haiku-os.org/haiku/commit/?id=d697795
Author:      czeidler <haiku@xxxxxxxxxxxxxxxxxx>
Date:        Wed Oct 10 22:50:03 2012 UTC

----------------------------------------------------------------------------

1 file changed, 12 insertions(+), 5 deletions(-)
src/servers/app/stackandtile/SATGroup.cpp |   17 ++++++++++++-----

----------------------------------------------------------------------------

diff --git a/src/servers/app/stackandtile/SATGroup.cpp 
b/src/servers/app/stackandtile/SATGroup.cpp
index b27906d..b75a11d 100644
--- a/src/servers/app/stackandtile/SATGroup.cpp
+++ b/src/servers/app/stackandtile/SATGroup.cpp
@@ -215,6 +215,16 @@ WindowArea::_UpdateConstraintValues()
                if (maxHeight < maxH)
                        maxHeight = maxH;
        }
+       // the current solver don't like big values
+       const int32 kMaxSolverValue = 5000;
+       if (minWidth > kMaxSolverValue)
+               minWidth = kMaxSolverValue;
+       if (minHeight > kMaxSolverValue)
+               minHeight = kMaxSolverValue;
+       if (maxWidth > kMaxSolverValue)
+               maxWidth = kMaxSolverValue;
+       if (maxHeight > kMaxSolverValue)
+               maxHeight = kMaxSolverValue;
 
        topWindow->AddDecorator(&minWidth, &maxWidth, &minHeight, &maxHeight);
        fMinWidthConstraint->SetRightSide(minWidth);
@@ -501,14 +511,10 @@ WindowArea::_MoveToSAT(SATWindow* triggerWindow)
        if (topWindow == NULL)
                return;
 
-       int32 workspace = triggerWindow->GetWindow()->CurrentWorkspace();
-       Desktop* desktop = triggerWindow->GetWindow()->Desktop();
-
        BRect frameSAT(LeftVar()->Value() - kMakePositiveOffset,
                TopVar()->Value() - kMakePositiveOffset,
                RightVar()->Value() - kMakePositiveOffset,
                BottomVar()->Value() - kMakePositiveOffset);
-
        topWindow->AdjustSizeLimits(frameSAT);
 
        BRect frame = topWindow->CompleteWindowFrame();
@@ -518,12 +524,13 @@ WindowArea::_MoveToSAT(SATWindow* triggerWindow)
        float deltaByX = round(frameSAT.right - frame.right);
        float deltaByY = round(frameSAT.bottom - frame.bottom);
 
+       int32 workspace = triggerWindow->GetWindow()->CurrentWorkspace();
+       Desktop* desktop = triggerWindow->GetWindow()->Desktop();
        desktop->MoveWindowBy(topWindow->GetWindow(), deltaToX, deltaToY,
                workspace);
        // Update frame to the new position
        desktop->ResizeWindowBy(topWindow->GetWindow(), deltaByX, deltaByY);
 
-
        UpdateSizeConstaints(frameSAT);
 }
 


Other related posts: