diff options
author | Sebastian Geerken <devnull@localhost> | 2014-06-12 11:07:21 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2014-06-12 11:07:21 +0200 |
commit | b068e76b797c92c92b9f363dd7cb1967fdff5b5b (patch) | |
tree | 3ee403025fbac1d92c7dc236c2085ce5f10a1ad1 /dw/outofflowmgr.cc | |
parent | 20697624f615da7e4aca96f9777a82d2cacb7cfb (diff) | |
parent | 24f92f1a625dfd9631b5350a56e75205083350df (diff) |
Merge with main repository.
Diffstat (limited to 'dw/outofflowmgr.cc')
-rw-r--r-- | dw/outofflowmgr.cc | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/dw/outofflowmgr.cc b/dw/outofflowmgr.cc index a45c4785..1e80cec3 100644 --- a/dw/outofflowmgr.cc +++ b/dw/outofflowmgr.cc @@ -1366,10 +1366,12 @@ Widget *OutOfFlowMgr::getFloatWidgetAtPoint (SortedFloatsVector *list, for (int i = 0; i < list->size(); i++) { // Could use binary search to be faster. Float *vloat = list->get(i); - Widget *childAtPoint = - vloat->getWidget()->getWidgetAtPoint (x, y, level + 1); - if (childAtPoint) - return childAtPoint; + if (vloat->getWidget()->wasAllocated ()) { + Widget *childAtPoint = + vloat->getWidget()->getWidgetAtPoint (x, y, level + 1); + if (childAtPoint) + return childAtPoint; + } } return NULL; @@ -1380,9 +1382,12 @@ Widget *OutOfFlowMgr::getAbsolutelyPositionedWidgetAtPoint (int x, int y, { for (int i = 0; i < absolutelyPositioned->size(); i++) { AbsolutelyPositioned *abspos = absolutelyPositioned->get(i); - Widget *childAtPoint = abspos->widget->getWidgetAtPoint (x, y, level + 1); - if (childAtPoint) - return childAtPoint; + if (abspos->widget->wasAllocated ()) { + Widget *childAtPoint = + abspos->widget->getWidgetAtPoint (x, y, level + 1); + if (childAtPoint) + return childAtPoint; + } } return NULL; |