if (actionkey != NULL) { // FIXME: fix for GTK breakage, see comment in SelectedStyle::on_opacity_changed sp_canvas_force_full_redraw_after_interruptions(sp_desktop_canvas(desktop), 0); gdouble strokewidth = stroke_average_width (selection->itemList()); int transform_stroke = prefs->getBool("/options/transform/stroke", true) ? 1 : 0; - Geom::Matrix scaler = get_scale_transform_with_stroke (*bbox, strokewidth, transform_stroke, x0, y0, x1, y1); + Geom::Matrix scaler; + if (bbox_type == SPItem::APPROXIMATE_BBOX) { + scaler = get_scale_transform_with_stroke (*bbox, strokewidth, transform_stroke, x0, y0, x1, y1); + } + else { + scaler = get_scale_transform_with_stroke (*bbox, 0, false, x0, y0, x1, y1); + } sp_selection_apply_affine(selection, scaler); sp_document_maybe_done (document, actionkey, SP_VERB_CONTEXT_SELECT,_("Transform by toolbar")); // resume interruptibility sp_canvas_end_forced_full_redraws(sp_desktop_canvas(desktop)); }