aboutsummaryrefslogtreecommitdiff
path: root/dw/oofawarewidget.cc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2015-02-02 14:37:53 +0100
committerSebastian Geerken <devnull@localhost>2015-02-02 14:37:53 +0100
commitcdc7bebac4c0fa7fe198c4b72c62948ffeb12815 (patch)
treedc68963df5308584ef9a920ff253fa07eb03f32f /dw/oofawarewidget.cc
parent76ef5d3794d67fed2e6ff65d48781674d335309b (diff)
Fixed too large widget reference space for relatively positioned elements.
Diffstat (limited to 'dw/oofawarewidget.cc')
-rw-r--r--dw/oofawarewidget.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/dw/oofawarewidget.cc b/dw/oofawarewidget.cc
index 885bd790..9521e916 100644
--- a/dw/oofawarewidget.cc
+++ b/dw/oofawarewidget.cc
@@ -247,6 +247,8 @@ void OOFAwareWidget::correctRequisitionByOOF (Requisition *requisition,
requisition->width, requisition->ascent,
requisition->descent);
+ requisitionWithoutOOF = *requisition;
+
for (int i = 0; i < NUM_OOFM; i++) {
if (outOfFlowMgr[i]) {
DBG_OBJ_MSGF ("resize", 1, "OOFM for %s", OOFM_NAME[i]);
@@ -281,6 +283,15 @@ void OOFAwareWidget::correctRequisitionByOOF (Requisition *requisition,
&requisition->ascent, &requisition->descent);
}
+ if (!adjustExtraSpaceWhenCorrectingRequisitionByOOF ()) {
+ requisitionWithoutOOF.width = max (requisitionWithoutOOF.width,
+ oofWidth);
+ if (oofHeight >
+ requisitionWithoutOOF.ascent + requisitionWithoutOOF.descent)
+ splitHeightFun (oofHeight, &requisitionWithoutOOF.ascent,
+ &requisitionWithoutOOF.descent);
+ }
+
DBG_OBJ_MSGF ("resize", 1, "after correction: %d * (%d + %d)",
requisition->width, requisition->ascent,
requisition->descent);
@@ -289,6 +300,12 @@ void OOFAwareWidget::correctRequisitionByOOF (Requisition *requisition,
DBG_OBJ_MSGF ("resize", 1, "no OOFM for %s", OOFM_NAME[i]);
}
+ DBG_OBJ_SET_NUM ("requisitionWithoutOOF.width", requisitionWithoutOOF.width);
+ DBG_OBJ_SET_NUM ("requisitionWithoutOOF.ascent",
+ requisitionWithoutOOF.ascent);
+ DBG_OBJ_SET_NUM ("requisitionWithoutOOF.descent",
+ requisitionWithoutOOF.descent);
+
DBG_OBJ_LEAVE ();
}