[SCM] umbrello packaging branch, master, updated. debian/4.13.1-1-7-ge222165

Maximiliano Curia maxy at moszumanska.debian.org
Fri Jul 25 10:48:35 UTC 2014


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-sc/umbrello.git;a=commitdiff;h=4fd356e

The following commit has been merged in the master branch:
commit 4fd356ede4624ef913395fc025605b4e158a1b15
Author: Maximiliano Curia <maxy at debian.org>
Date:   Wed Jul 23 13:51:05 2014 +0200

    New patch: valgrind_errors
---
 debian/changelog               |   1 +
 debian/patches/series          |   1 +
 debian/patches/valgrind_errors | 134 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 136 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 92db26a..6b54a73 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 umbrello (4:4.13.3-1~) UNRELEASED; urgency=medium
 
   * New upstream release.
+  * New patch: valgrind_errors
 
  -- Maximiliano Curia <maxy at debian.org>  Wed, 23 Jul 2014 13:52:11 +0200
 
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..a07d74b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+valgrind_errors
diff --git a/debian/patches/valgrind_errors b/debian/patches/valgrind_errors
new file mode 100644
index 0000000..2eaaa6f
--- /dev/null
+++ b/debian/patches/valgrind_errors
@@ -0,0 +1,134 @@
+Index: umbrello/umbrello/widgets/classifierwidget.cpp
+===================================================================
+--- umbrello.orig/umbrello/widgets/classifierwidget.cpp	2014-07-23 16:42:50.804016844 +0200
++++ umbrello/umbrello/widgets/classifierwidget.cpp	2014-07-23 16:42:50.800017002 +0200
+@@ -43,25 +43,30 @@
+     m_pAssocWidget(0)
+ {
+     const Settings::OptionState& ops = m_scene->optionState();
+-    setVisualPropertyCmd(ShowVisibility, ops.classState.showVisibility);
+-    setVisualPropertyCmd(ShowOperations, ops.classState.showOps);
+-    setVisualPropertyCmd(ShowPublicOnly, ops.classState.showPublicOnly);
+-    setVisualPropertyCmd(ShowPackage,    ops.classState.showPackage);
+-    m_attributeSignature = Uml::SignatureType::ShowSig;
++    // valgrind issue:
++    // Conditional jump or move depends on uninitialised value(s)
++    // setVisualPropertyCmd(ShowVisibility, ops.classState.showVisibility);
++    // uses m_operationSignature
+     /*:TODO:
+     setVisualProperty(ShowOperationSignature, ops.classState.showOpSig);
+       Cannot do that because we get "pure virtual method called". Open code:
+      */
+     if(!ops.classState.showOpSig) {
+-        if (visualProperty(ShowVisibility))
++        if (ops.classState.showVisibility)
+             m_operationSignature = Uml::SignatureType::NoSig;
+         else
+             m_operationSignature = Uml::SignatureType::NoSigNoVis;
+ 
+-    } else if (visualProperty(ShowVisibility))
++    } else if (ops.classState.showVisibility)
+         m_operationSignature = Uml::SignatureType::ShowSig;
+     else
+         m_operationSignature = Uml::SignatureType::SigNoVis;
++    m_attributeSignature = Uml::SignatureType::ShowSig;
++
++    setVisualPropertyCmd(ShowVisibility, ops.classState.showVisibility);
++    setVisualPropertyCmd(ShowOperations, ops.classState.showOps);
++    setVisualPropertyCmd(ShowPublicOnly, ops.classState.showPublicOnly);
++    setVisualPropertyCmd(ShowPackage,    ops.classState.showPackage);
+ 
+     setVisualPropertyCmd(ShowAttributes, ops.classState.showAtts);
+     setVisualPropertyCmd(ShowStereotype, ops.classState.showStereoType);
+Index: umbrello/umbrello/clipboard/umlclipboard.cpp
+===================================================================
+--- umbrello.orig/umbrello/clipboard/umlclipboard.cpp	2014-07-23 16:42:50.804016844 +0200
++++ umbrello/umbrello/clipboard/umlclipboard.cpp	2014-07-23 18:25:28.035070059 +0200
+@@ -469,8 +469,15 @@
+     UMLScene *currentScene = UMLApp::app()->currentView()->umlScene();
+     if(diagramType != currentScene->type()) {
+         if(!checkPasteWidgets(widgets)) {
++            // valgrind error
+             while (!assocs.isEmpty()) {
+-                delete assocs.takeFirst();
++                AssociationWidget *assoc = assocs.takeFirst();
++                currentScene->removeAssocInViewAndDoc(assoc);
++            }
++            while (!widgets.isEmpty()) {
++                UMLWidget *widget = widgets.takeFirst();
++                currentScene->removeWidget(widget);
++                delete widget;
+             }
+             return false;
+         }
+@@ -702,17 +709,22 @@
+             {
+                 FloatingTextWidget *ft = static_cast<FloatingTextWidget*>(p);
+                 if (ft->textRole() != Uml::TextRole::Floating) {
+-                    widgetList.removeAll(p);
+-                    delete ft;
+-                    retval = false;
++                    // valgrind error
++                    // segfault after a failed paste and then try to select an
++                    // area
++                    // widgetList.removeAll(p);
++                    // delete ft;
++                    return false;
+                 }
+             }
+             break;
+ 
+         default:
+-            widgetList.removeAll(p);
+-            delete p;
+-            retval = false;
++            // valgrind error
++            // segfault after a failed paste and then try to select an area
++            // widgetList.removeAll(p);
++            // delete p;
++            return false;
+             break;
+         }
+     }
+Index: umbrello/umbrello/umlscene.cpp
+===================================================================
+--- umbrello.orig/umbrello/umlscene.cpp	2014-07-23 19:26:14.001327214 +0200
++++ umbrello/umbrello/umlscene.cpp	2014-07-23 19:26:39.080329543 +0200
+@@ -1221,8 +1221,8 @@
+     disconnect(this, SIGNAL(sigTextColorChanged(Uml::ID::Type)), o, SLOT(slotTextColorChanged(Uml::ID::Type)));
+     if (t == WidgetBase::wt_Message) {
+         m_MessageList.removeAll(static_cast<MessageWidget*>(o));
+-    } else
+-        m_WidgetList.removeAll(o);
++    }
++    m_WidgetList.removeAll(o);
+     o->deleteLater();
+     m_doc->setModified(true);
+ }
+Index: umbrello/umbrello/widgets/associationwidget.cpp
+===================================================================
+--- umbrello.orig/umbrello/widgets/associationwidget.cpp	2014-07-25 11:10:54.564606452 +0200
++++ umbrello/umbrello/widgets/associationwidget.cpp	2014-07-25 11:27:09.794306083 +0200
+@@ -1043,7 +1043,8 @@
+         ft->setLink(this);
+         ft->activate();
+         setTextPosition(role);
+-        m_scene->addFloatingTextWidget(ft);
++        // segfault on click after removing the assoc
++        // m_scene->addFloatingTextWidget(ft);
+     } else {
+         bool newLabel = ft->text().isEmpty();
+         ft->setText(text);
+@@ -4191,7 +4192,12 @@
+         }
+     }
+ 
++    // Wait till be have the complete object loaded to propagate
++    // signals and sync to model.
++    UMLAssociation *uml = association();
++    uml && uml->blockSignals(true);
+     setAssociationType(aType);
++    uml && uml->blockSignals(false);
+ 
+     QString indexa = qElement.attribute("indexa", "0");
+     QString indexb = qElement.attribute("indexb", "0");

-- 
umbrello packaging



More information about the pkg-kde-commits mailing list