Code

remove many unnecessary to_2geom and from_2geom calls
[inkscape.git] / src / widgets / icon.cpp
index b460258edb78d5ee0f9e5912d3691aaf3cf7a78d..cdd356871c80d5d840c695a3d05b199ac28c297a 100644 (file)
@@ -623,7 +623,11 @@ sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root,
         if (object && SP_IS_ITEM(object)) {
             /* Find bbox in document */
             Geom::Matrix const i2doc(sp_item_i2doc_affine(SP_ITEM(object)));
-            boost::optional<Geom::Rect> dbox = SP_ITEM(object)->getBounds(i2doc);
+            boost::optional<NR::Rect> nrdbox = SP_ITEM(object)->getBounds(i2doc);
+            boost::optional<Geom::Rect> dbox;
+            if (nrdbox) {
+                dbox = to_2geom(*nrdbox);
+            }
 
             if ( SP_OBJECT_PARENT(object) == NULL )
             {
@@ -636,7 +640,7 @@ sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root,
                 NRGC gc(NULL);
                 /* Update to renderable state */
                 double sf = 1.0;
-                nr_arena_item_set_transform(root, from_2geom(Geom::Scale(sf, sf)));
+                nr_arena_item_set_transform(root, (Geom::Matrix)Geom::Scale(sf, sf));
                 gc.transform.set_identity();
                 nr_arena_item_invoke_update( root, NULL, &gc,
                                              NR_ARENA_ITEM_STATE_ALL,
@@ -668,7 +672,7 @@ sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root,
                         }
                         sf = (double)psize / (double)block;
 
-                        nr_arena_item_set_transform(root, from_2geom(Geom::Scale(sf, sf)));
+                        nr_arena_item_set_transform(root, (Geom::Matrix)Geom::Scale(sf, sf));
                         gc.transform.set_identity();
                         nr_arena_item_invoke_update( root, NULL, &gc,
                                                      NR_ARENA_ITEM_STATE_ALL,