summaryrefslogtreecommitdiffstats
path: root/src/selection-chemistry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/selection-chemistry.cpp')
-rw-r--r--src/selection-chemistry.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index 2b13021a2..bd1f54b6b 100644
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -2843,23 +2843,21 @@ void fit_canvas_to_selection(SPDesktop *desktop) {
g_return_if_fail(doc != NULL);
g_return_if_fail(desktop->selection != NULL);
g_return_if_fail(!desktop->selection->isEmpty());
- NRRect bbox(0, 0, 0, 0);
- desktop->selection->bounds(&bbox);
- if (!nr_rect_d_test_empty(&bbox)) {
- doc->fitToRect(bbox);
+ NR::Maybe<NR::Rect> const bbox(desktop->selection->bounds());
+ if (bbox && !bbox->isEmpty()) {
+ doc->fitToRect(*bbox);
}
};
void fit_canvas_to_drawing(SPDocument *doc) {
g_return_if_fail(doc != NULL);
- NRRect bbox(0, 0, 0, 0);
- sp_document_ensure_up_to_date (doc);
- sp_item_invoke_bbox(SP_ITEM(doc->root), &bbox, sp_item_i2r_affine(SP_ITEM(doc->root)), TRUE);
-
- if (!nr_rect_d_test_empty(&bbox)) {
- doc->fitToRect(bbox);
+ sp_document_ensure_up_to_date(doc);
+ SPItem const *const root = SP_ITEM(doc->root);
+ NR::Maybe<NR::Rect> const bbox(root->getBounds(sp_item_i2r_affine(root)));
+ if (bbox && !bbox->isEmpty()) {
+ doc->fitToRect(*bbox);
}
};