From 46e885f84b3558a3d31e2db1f3559d688c132851 Mon Sep 17 00:00:00 2001 From: buliabyak Date: Sat, 14 Apr 2007 02:30:34 +0000 Subject: [PATCH] change the logic so that the value is correctly read at launch of seltrans, and approximate is the default for continuity --- src/selcue.cpp | 2 +- src/seltrans.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/selcue.cpp b/src/selcue.cpp index 1831e8b54..5a831d831 100644 --- a/src/selcue.cpp +++ b/src/selcue.cpp @@ -79,7 +79,7 @@ void Inkscape::SelCue::_updateItemBboxes() SPItem *item = (SPItem *) l->data; gchar const *prefs_bbox = prefs_get_string_attribute("tools.select", "bounding_box"); - SPItem::BBoxType bbox_type = (prefs_bbox == NULL || strcmp(prefs_bbox, "geometric")==0)? SPItem::GEOMETRIC_BBOX : SPItem::APPROXIMATE_BBOX; + SPItem::BBoxType bbox_type = (prefs_bbox != NULL && strcmp(prefs_bbox, "geometric")==0)? SPItem::GEOMETRIC_BBOX : SPItem::APPROXIMATE_BBOX; NR::Maybe const b = sp_item_bbox_desktop(item, bbox_type); diff --git a/src/seltrans.cpp b/src/seltrans.cpp index 3de87ae28..82632d456 100644 --- a/src/seltrans.cpp +++ b/src/seltrans.cpp @@ -88,13 +88,14 @@ Inkscape::SelTrans::SelTrans(SPDesktop *desktop) : _show(SHOW_CONTENT), _grabbed(false), _show_handles(true), - _snap_bbox_type(SPItem::GEOMETRIC_BBOX), _bbox(NR::Nothing()), _approximate_bbox(NR::Nothing()), _chandle(NULL), _stamp_cache(NULL), _message_context(desktop->messageStack()) { + gchar const *prefs_bbox = prefs_get_string_attribute("tools.select", "bounding_box"); + _snap_bbox_type = (prefs_bbox != NULL && strcmp(prefs_bbox, "geometric")==0)? SPItem::GEOMETRIC_BBOX : SPItem::APPROXIMATE_BBOX; g_return_if_fail(desktop != NULL); @@ -791,8 +792,9 @@ gboolean Inkscape::SelTrans::handleRequest(SPKnot *knot, NR::Point *position, gu void Inkscape::SelTrans::_selChanged(Inkscape::Selection *selection) { if (!_grabbed) { + // reread in case it changed on the fly: gchar const *prefs_bbox = prefs_get_string_attribute("tools.select", "bounding_box"); - _snap_bbox_type = (prefs_bbox == NULL || strcmp(prefs_bbox, "geometric")==0)? SPItem::GEOMETRIC_BBOX : SPItem::APPROXIMATE_BBOX; + _snap_bbox_type = (prefs_bbox != NULL && strcmp(prefs_bbox, "geometric")==0)? SPItem::GEOMETRIC_BBOX : SPItem::APPROXIMATE_BBOX; //SPItem::APPROXIMATE_BBOX will be replaced by SPItem::VISUAL_BBOX, as soon as the latter is implemented properly _updateVolatileState(); -- 2.30.2