summaryrefslogtreecommitdiffstats
path: root/src/gradient-drag.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gradient-drag.cpp')
-rw-r--r--src/gradient-drag.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp
index c02190df8..4a8f7e8ed 100644
--- a/src/gradient-drag.cpp
+++ b/src/gradient-drag.cpp
@@ -1443,14 +1443,16 @@ GrDrag::updateLevels ()
for (GSList const* i = this->selection->itemList(); i != NULL; i = i->next) {
SPItem *item = SP_ITEM(i->data);
- NR::Rect rect = sp_item_bbox_desktop (item);
- // Remember the edges of the bbox and the center axis
- hor_levels.push_back(rect.min()[NR::Y]);
- hor_levels.push_back(rect.max()[NR::Y]);
- hor_levels.push_back(0.5 * (rect.min()[NR::Y] + rect.max()[NR::Y]));
- vert_levels.push_back(rect.min()[NR::X]);
- vert_levels.push_back(rect.max()[NR::X]);
- vert_levels.push_back(0.5 * (rect.min()[NR::X] + rect.max()[NR::X]));
+ NR::Maybe<NR::Rect> rect = sp_item_bbox_desktop (item);
+ if (rect) {
+ // Remember the edges of the bbox and the center axis
+ hor_levels.push_back(rect->min()[NR::Y]);
+ hor_levels.push_back(rect->max()[NR::Y]);
+ hor_levels.push_back(0.5 * (rect->min()[NR::Y] + rect->max()[NR::Y]));
+ vert_levels.push_back(rect->min()[NR::X]);
+ vert_levels.push_back(rect->max()[NR::X]);
+ vert_levels.push_back(0.5 * (rect->min()[NR::X] + rect->max()[NR::X]));
+ }
}
}