summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-01-01 04:39:28 +0000
committerTed Gould <ted@gould.cx>2010-01-01 04:39:28 +0000
commitc22deac174d6b12cf55640f0f5336218cb36defb (patch)
treebcb6da5aea8703ee9ee515d6112f3f6d0f6e49f5 /src/ui
parentFixing some warnings/errors (diff)
parentadding 'inductiveload' to AUTHORS (diff)
downloadinkscape-c22deac174d6b12cf55640f0f5336218cb36defb.tar.gz
inkscape-c22deac174d6b12cf55640f0f5336218cb36defb.zip
Keeping up with trunk
(bzr r8254.1.49)
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/align-and-distribute.cpp31
-rw-r--r--src/ui/dialog/document-properties.cpp1
2 files changed, 19 insertions, 13 deletions
diff --git a/src/ui/dialog/align-and-distribute.cpp b/src/ui/dialog/align-and-distribute.cpp
index 024d4b2f1..2bba0a0f8 100644
--- a/src/ui/dialog/align-and-distribute.cpp
+++ b/src/ui/dialog/align-and-distribute.cpp
@@ -705,14 +705,16 @@ private :
{
if (SP_IS_TEXT (*it) || SP_IS_FLOWTEXT (*it)) {
Inkscape::Text::Layout const *layout = te_get_layout(*it);
- Geom::Point base = layout->characterAnchorPoint(layout->begin()) * sp_item_i2d_affine(*it);
- if (base[Geom::X] < b_min[Geom::X]) b_min[Geom::X] = base[Geom::X];
- if (base[Geom::Y] < b_min[Geom::Y]) b_min[Geom::Y] = base[Geom::Y];
- if (base[Geom::X] > b_max[Geom::X]) b_max[Geom::X] = base[Geom::X];
- if (base[Geom::Y] > b_max[Geom::Y]) b_max[Geom::Y] = base[Geom::Y];
-
- Baselines b (*it, base, _orientation);
- sorted.push_back(b);
+ boost::optional<Geom::Point> pt = layout->baselineAnchorPoint();
+ if (pt) {
+ Geom::Point base = *pt * sp_item_i2d_affine(*it);
+ if (base[Geom::X] < b_min[Geom::X]) b_min[Geom::X] = base[Geom::X];
+ if (base[Geom::Y] < b_min[Geom::Y]) b_min[Geom::Y] = base[Geom::Y];
+ if (base[Geom::X] > b_max[Geom::X]) b_max[Geom::X] = base[Geom::X];
+ if (base[Geom::Y] > b_max[Geom::Y]) b_max[Geom::Y] = base[Geom::Y];
+ Baselines b (*it, base, _orientation);
+ sorted.push_back(b);
+ }
}
}
@@ -746,11 +748,14 @@ private :
{
if (SP_IS_TEXT (*it) || SP_IS_FLOWTEXT (*it)) {
Inkscape::Text::Layout const *layout = te_get_layout(*it);
- Geom::Point base = layout->characterAnchorPoint(layout->begin()) * sp_item_i2d_affine(*it);
- Geom::Point t(0.0, 0.0);
- t[_orientation] = b_min[_orientation] - base[_orientation];
- sp_item_move_rel(*it, Geom::Translate(t));
- changed = true;
+ boost::optional<Geom::Point> pt = layout->baselineAnchorPoint();
+ if (pt) {
+ Geom::Point base = *pt * sp_item_i2d_affine(*it);
+ Geom::Point t(0.0, 0.0);
+ t[_orientation] = b_min[_orientation] - base[_orientation];
+ sp_item_move_rel(*it, Geom::Translate(t));
+ changed = true;
+ }
}
}
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp
index 982fb3415..a7241ea40 100644
--- a/src/ui/dialog/document-properties.cpp
+++ b/src/ui/dialog/document-properties.cpp
@@ -353,6 +353,7 @@ DocumentProperties::populate_available_profiles(){
while ((filename = (gchar *)g_dir_read_name(directory)) != NULL) {
gchar* full = g_build_filename(it->c_str(), filename, NULL);
if ( !Inkscape::IO::file_test( full, G_FILE_TEST_IS_DIR ) ) {
+ cmsErrorAction( LCMS_ERROR_SHOW );
cmsHPROFILE hProfile = cmsOpenProfileFromFile(full, "r");
if (hProfile != NULL){
const gchar* name;