[kdewebdev] fixes crash in kimagemapeditor when using freehand tool

Jaroslav Reznik jreznik at fedoraproject.org
Wed Mar 9 13:37:15 UTC 2011


commit c9d015b8b3bc819a9dd3e8033ab210f682e3bfff
Author: Jaroslav Reznik <jreznik at redhat.com>
Date:   Wed Mar 9 14:37:07 2011 +0100

    fixes crash in kimagemapeditor when using freehand tool

 kdewebdev-3.5.10-fix-freehand-crash.patch |   48 +++++++++++++++++++++++++++++
 kdewebdev.spec                            |    8 ++++-
 2 files changed, 55 insertions(+), 1 deletions(-)
---
diff --git a/kdewebdev-3.5.10-fix-freehand-crash.patch b/kdewebdev-3.5.10-fix-freehand-crash.patch
new file mode 100644
index 0000000..2e2d03f
--- /dev/null
+++ b/kdewebdev-3.5.10-fix-freehand-crash.patch
@@ -0,0 +1,48 @@
+diff -up kdewebdev-3.5.10/kimagemapeditor/drawzone.cpp.fix-freehand-crash kdewebdev-3.5.10/kimagemapeditor/drawzone.cpp
+--- kdewebdev-3.5.10/kimagemapeditor/drawzone.cpp.fix-freehand-crash	2005-09-10 10:23:17.000000000 +0200
++++ kdewebdev-3.5.10/kimagemapeditor/drawzone.cpp	2011-03-08 17:57:46.032615431 +0100
+@@ -347,15 +347,16 @@ void DrawZone::contentsMousePressEvent(Q
+ 				case KImageMapEditor::Rectangle : currentAction=DrawRectangle; break;
+ 				case KImageMapEditor::Circle : currentAction=DrawCircle; break;
+ 				case KImageMapEditor::Polygon :
+-  					currentAction=DrawPolygon;
+-      			currentArea->addCoord(drawStart);
+-      			currentSelectionPoint=currentArea->selectionPoints()->last();
+-      			break;
+-        case KImageMapEditor::Freehand :
+-            currentAction=DrawFreehand;
+-      			//currentArea->addCoord(drawStart);
+-      			currentArea->setFinished(false);
+- 			  		break;
++					currentAction=DrawPolygon;
++					currentArea->addCoord(drawStart);
++					currentSelectionPoint=currentArea->selectionPoints()->last();
++					break;
++				case KImageMapEditor::Freehand :
++					currentAction=DrawFreehand;
++					currentArea->addCoord(drawStart);
++					currentSelectionPoint=currentArea->selectionPoints()->last();
++		 			currentArea->setFinished(false);
++			  		break;
+ 				default: break;
+ 			}
+ 		}
+@@ -434,12 +435,17 @@ void DrawZone::contentsMouseReleaseEvent
+ 	} else
+ 	if (currentAction==DrawFreehand)
+ 	{
++  	if ((currentArea->selectionPoints()->count()>2)
++  		&& (currentArea->selectionPoints()->first()->contains(drawEnd)
++  		 || (e->button()==RightButton)))
++  	{
+ 			currentArea->setFinished(true);
+ 			currentArea->simplifyCoords();
+   		currentAction=None;
+    		imageMapEditor->commandHistory()->addCommand(
+    			new CreateCommand( imageMapEditor, currentArea ), true);
+-	} else
++	} 
++   	} else
+ 	if (currentAction==MoveArea) {
+ 	    QPoint p1 = oldArea->rect().topLeft();
+ 	    QPoint p2 = imageMapEditor->selected()->rect().topLeft();
diff --git a/kdewebdev.spec b/kdewebdev.spec
index 6c8e925..a1b1afc 100644
--- a/kdewebdev.spec
+++ b/kdewebdev.spec
@@ -5,7 +5,7 @@ Name:    kdewebdev
 Summary: Web development applications 
 Epoch:   6
 Version: 3.5.10
-Release: 9%{?dist}
+Release: 10%{?dist}
 
 License: GPLv2
 Url:     http://kdewebdev.org/ 
@@ -22,6 +22,8 @@ Source5: hi48-app-kxsldbg.png
 Patch0: javascript.patch
 Patch1: kdewebdev-3.5.4-kxsldbg-icons.patch
 Patch2: arts-acinclude.patch
+# fixes crash in kimagemapeditor when using freehand tool
+Patch3: kdewebdev-3.5.10-fix-freehand-crash.patch
 
 %if %{make_cvs}
 BuildRequires: automake libtool
@@ -88,6 +90,7 @@ Requires: kdelibs3%{?_isa} >= %{version}
 %patch0 -p0 -b .javascript
 %patch1 -p1 -b .kxsldbg-icons
 %patch2 -p1 -b .autoconf
+%patch3 -p1 -b .fix-freehand-crash
 
 install -m644 -p %{SOURCE5} kxsldbg/
 
@@ -206,6 +209,9 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Wed Mar 09 2011 Jaroslav Reznik <jreznik at redhat.com> - 6:3.5.10-10
+- fixes crash in kimagemapeditor when using freehand tool
+
 * Mon Feb 07 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org>
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list