summaryrefslogtreecommitdiffstats
path: root/src/display
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-04-08 13:47:33 +0000
committerjabiertxof <info@marker.es>2016-04-08 13:47:33 +0000
commit1106ff9eeb561af9216563e3eb7422088fac4cf5 (patch)
tree8dc88ec1211b985e18c86835196d45e124d8cfe4 /src/display
parentupdate to trunk (diff)
parentBug #1552765 fixed Break Apart dont handle well stroke with in documents diff... (diff)
downloadinkscape-1106ff9eeb561af9216563e3eb7422088fac4cf5.tar.gz
inkscape-1106ff9eeb561af9216563e3eb7422088fac4cf5.zip
update to trunk
(bzr r13645.1.125)
Diffstat (limited to 'src/display')
-rw-r--r--src/display/drawing-text.cpp16
-rw-r--r--src/display/sp-canvas-item.h1
-rw-r--r--src/display/sp-canvas.cpp1
3 files changed, 11 insertions, 7 deletions
diff --git a/src/display/drawing-text.cpp b/src/display/drawing-text.cpp
index a3ca7173a..f0d83abfd 100644
--- a/src/display/drawing-text.cpp
+++ b/src/display/drawing-text.cpp
@@ -100,14 +100,16 @@ unsigned DrawingGlyphs::_updateItem(Geom::IntRect const &/*area*/, UpdateContext
above and below the max/min y positions of the letters to place the text decorations.*/
Geom::Rect b;
- if(_drawable){
- Geom::OptRect tiltb = bounds_exact(*_font->PathVector(_glyph));
- Geom::Rect bigbox(Geom::Point(tiltb->left(),-_dsc*scale_bigbox*1.1),Geom::Point(tiltb->right(),_asc*scale_bigbox*1.1));
- b = bigbox * ctx.ctm;
+ if (_drawable) {
+ Geom::OptRect tiltb = bounds_exact(*_font->PathVector(_glyph));
+ if (tiltb) {
+ Geom::Rect bigbox(Geom::Point(tiltb->left(),-_dsc*scale_bigbox*1.1),Geom::Point(tiltb->right(),_asc*scale_bigbox*1.1));
+ b = bigbox * ctx.ctm;
+ }
}
- else { // Fallback, spaces mostly
- Geom::Rect bigbox(Geom::Point(0.0, -_dsc*scale_bigbox*1.1),Geom::Point(_width*scale_bigbox, _asc*scale_bigbox*1.1));
- b = bigbox * ctx.ctm;
+ if (b.hasZeroArea()) { // Fallback, spaces mostly
+ Geom::Rect bigbox(Geom::Point(0.0, -_dsc*scale_bigbox*1.1),Geom::Point(_width*scale_bigbox, _asc*scale_bigbox*1.1));
+ b = bigbox * ctx.ctm;
}
/*
diff --git a/src/display/sp-canvas-item.h b/src/display/sp-canvas-item.h
index 66cd03dd9..00edb4dee 100644
--- a/src/display/sp-canvas-item.h
+++ b/src/display/sp-canvas-item.h
@@ -62,6 +62,7 @@ struct SPCanvasItem {
Geom::Rect bounds;
Geom::Affine xform;
+ int ctrlResize;
Inkscape::ControlType ctrlType;
Inkscape::ControlFlags ctrlFlags;
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp
index d17271752..81ea7d142 100644
--- a/src/display/sp-canvas.cpp
+++ b/src/display/sp-canvas.cpp
@@ -360,6 +360,7 @@ static void
sp_canvas_item_init(SPCanvasItem *item)
{
item->xform = Geom::Affine(Geom::identity());
+ item->ctrlResize = 0;
item->ctrlType = Inkscape::CTRL_TYPE_UNKNOWN;
item->ctrlFlags = Inkscape::CTRL_FLAG_NORMAL;