diff options
author | Sebastian Geerken <devnull@localhost> | 2015-02-02 14:37:53 +0100 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2015-02-02 14:37:53 +0100 |
commit | cdc7bebac4c0fa7fe198c4b72c62948ffeb12815 (patch) | |
tree | dc68963df5308584ef9a920ff253fa07eb03f32f /dw/oofawarewidget.cc | |
parent | 76ef5d3794d67fed2e6ff65d48781674d335309b (diff) |
Fixed too large widget reference space for relatively positioned elements.
Diffstat (limited to 'dw/oofawarewidget.cc')
-rw-r--r-- | dw/oofawarewidget.cc | 17 |
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 (); } |