diff options
Diffstat (limited to 'src/dialogs/clonetiler.cpp')
| -rw-r--r-- | src/dialogs/clonetiler.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/dialogs/clonetiler.cpp b/src/dialogs/clonetiler.cpp index d84038db8..194f341e1 100644 --- a/src/dialogs/clonetiler.cpp +++ b/src/dialogs/clonetiler.cpp @@ -853,7 +853,7 @@ static void clonetiler_trace_setup(SPDocument *doc, gdouble zoom, SPItem *origin /* Create ArenaItem and set transform */ trace_visionkey = SPItem::display_key_new(1); trace_doc = doc; - trace_root = SP_ITEM(trace_doc->getRoot())->invoke_show((NRArena *) trace_arena, trace_visionkey, SP_ITEM_SHOW_DISPLAY); + trace_root = trace_doc->getRoot()->invoke_show((NRArena *) trace_arena, trace_visionkey, SP_ITEM_SHOW_DISPLAY); // hide the (current) original and any tiled clones, we only want to pick the background original->invoke_hide(trace_visionkey); @@ -907,7 +907,7 @@ static guint32 clonetiler_trace_pick(Geom::Rect box) static void clonetiler_trace_finish() { if (trace_doc) { - SP_ITEM(trace_doc->getRoot())->invoke_hide(trace_visionkey); + trace_doc->getRoot()->invoke_hide(trace_visionkey); } if (trace_arena) { ((NRObject *) trace_arena)->unreference(); @@ -1067,6 +1067,7 @@ static void clonetiler_apply(GtkWidget */*widget*/, void *) gdk_window_process_all_updates(); SPObject *obj = selection->singleItem(); + SPItem *item = SP_IS_ITEM(obj) ? SP_ITEM(obj) : 0; Inkscape::XML::Node *obj_repr = obj->getRepr(); const char *id_href = g_strdup_printf("#%s", obj_repr->attribute("id")); SPObject *parent = obj->parent; @@ -1156,7 +1157,7 @@ static void clonetiler_apply(GtkWidget */*widget*/, void *) double gamma_picked = prefs->getDoubleLimited(prefs_path + "gamma_picked", 0, -10, 10); if (dotrace) { - clonetiler_trace_setup (sp_desktop_document(desktop), 1.0, SP_ITEM (obj)); + clonetiler_trace_setup (sp_desktop_document(desktop), 1.0, item); } Geom::Point center; @@ -1185,14 +1186,14 @@ static void clonetiler_apply(GtkWidget */*widget*/, void *) bool prefs_bbox = prefs->getBool("/tools/bounding_box", false); SPItem::BBoxType bbox_type = ( prefs_bbox ? SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX ); - Geom::OptRect r = SP_ITEM(obj)->getBounds(SP_ITEM(obj)->i2doc_affine(), + Geom::OptRect r = item->getBounds(item->i2doc_affine(), bbox_type); if (r) { w = r->dimensions()[Geom::X]; h = r->dimensions()[Geom::Y]; x0 = r->min()[Geom::X]; y0 = r->min()[Geom::Y]; - center = desktop->dt2doc(SP_ITEM(obj)->getCenter()); + center = desktop->dt2doc(item->getCenter()); sp_repr_set_svg_double(obj_repr, "inkscape:tile-cx", center[Geom::X]); sp_repr_set_svg_double(obj_repr, "inkscape:tile-cy", center[Geom::Y]); @@ -1408,7 +1409,7 @@ static void clonetiler_apply(GtkWidget */*widget*/, void *) Geom::Point new_center; bool center_set = false; if (obj_repr->attribute("inkscape:transform-center-x") || obj_repr->attribute("inkscape:transform-center-y")) { - new_center = desktop->dt2doc(SP_ITEM(obj)->getCenter()) * t; + new_center = desktop->dt2doc(item->getCenter()) * t; center_set = true; } |
