summaryrefslogtreecommitdiffstats
path: root/src/live_effects/lpe-perspective-envelope.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2015-04-13 21:01:49 +0000
committerJabiertxof <jtx@jtx.marker.es>2015-04-13 21:01:49 +0000
commit3c37a2f5b4779c78ff90f6194dcb5b32244306f3 (patch)
treea10d1732d10314aefe4eca3eda6c1affb1494447 /src/live_effects/lpe-perspective-envelope.cpp
parentadded info about multiple pen feature in gui (diff)
downloadinkscape-3c37a2f5b4779c78ff90f6194dcb5b32244306f3.tar.gz
inkscape-3c37a2f5b4779c78ff90f6194dcb5b32244306f3.zip
Fix for the bug 1443039. Now reset old perspective-envelope effects and prevent crash, also when all handles go to the same position
Fixed bugs: - https://launchpad.net/bugs/1443039 (bzr r14056)
Diffstat (limited to 'src/live_effects/lpe-perspective-envelope.cpp')
-rw-r--r--src/live_effects/lpe-perspective-envelope.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/live_effects/lpe-perspective-envelope.cpp b/src/live_effects/lpe-perspective-envelope.cpp
index 4eac2d6eb..fc59fb333 100644
--- a/src/live_effects/lpe-perspective-envelope.cpp
+++ b/src/live_effects/lpe-perspective-envelope.cpp
@@ -63,6 +63,13 @@ void LPEPerspectiveEnvelope::doEffect(SPCurve *curve)
{
using Geom::X;
using Geom::Y;
+ if(are_near(up_left_point, up_right_point) &&
+ are_near(up_right_point, down_left_point) &&
+ are_near(down_left_point, down_right_point)) {
+ g_warning("Perspective/Envelope LPE::doBeforeEffect - lpeobj with invalid parameter, the same value in 4 handles!");
+ resetGrid();
+ return;
+ }
double projmatrix[3][3];
if(deform_type == DEFORMATION_PERSPECTIVE) {
std::vector<Geom::Point> handles(4);