Hello community, here is the log from the commit of package umbrello for openSUSE:Factory checked in at 2017-05-24 16:49:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/umbrello (Old) and /work/SRC/openSUSE:Factory/.umbrello.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "umbrello" Wed May 24 16:49:58 2017 rev:51 rq:496083 version:17.04.1 Changes: -------- --- /work/SRC/openSUSE:Factory/umbrello/umbrello.changes 2017-05-16 14:37:37.302638395 +0200 +++ /work/SRC/openSUSE:Factory/.umbrello.new/umbrello.changes 2017-05-24 16:49:59.369746578 +0200 @@ -1,0 +2,25 @@ +Wed May 17 20:38:01 CEST 2017 - lbeltr...@kde.org + +- Update to 17.04.1 + * New bugfix release + * For more details please see: + * https://www.kde.org/announcements/announce-applications-17.04.1.php +- Changes since 17.04.0: + * Fix coverity CID 88358: Unchecked dynamic_cast + * Fix coverity CID 88359: Unchecked dynamic_cast + * Fix coverity CID 88360: Unchecked dynamic_cast + * Fix coverity CID 88361: Unchecked dynamic_cast + * Fix coverity CID 88362: Unchecked dynamic_cast + * Fix coverity CID 88363: Unchecked dynamic_cast + * Fix coverity CID 88364: Unchecked dynamic_cast + * Fix coverity CID 88416: Dereference before null check + * Fix coverity CID 88428: Dereference before null check + * Fix coverity CID 88471: Dereference before null check + * Fix coverity CID 178697: Dereference after null check + * Fix coverity CID 178698: Unchecked dynamic_cast + * Fix coverity CID 178700: Missing break in switch + * Fix coverity CID 178701: Dereference null return value + * Let debug package build fail if no version has been found. + * Fix osc project path. + +------------------------------------------------------------------- Old: ---- umbrello-17.04.0.tar.xz New: ---- umbrello-17.04.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ umbrello.spec ++++++ --- /var/tmp/diff_new_pack.TwzoI3/_old 2017-05-24 16:50:00.261620962 +0200 +++ /var/tmp/diff_new_pack.TwzoI3/_new 2017-05-24 16:50:00.265620399 +0200 @@ -16,7 +16,7 @@ # Name: umbrello -Version: 17.04.0 +Version: 17.04.1 Release: 0 %define kf5_version 5.26.0 # Latest stable Applications (e.g. 16.08 in KA, but 16.11.80 in KUA) ++++++ umbrello-17.04.0.tar.xz -> umbrello-17.04.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/CMakeLists.txt new/umbrello-17.04.1/CMakeLists.txt --- old/umbrello-17.04.0/CMakeLists.txt 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/CMakeLists.txt 2017-05-08 13:12:11.000000000 +0200 @@ -3,7 +3,7 @@ # KDE Application Version, managed by release script set (KDE_APPLICATIONS_VERSION_MAJOR "17") set (KDE_APPLICATIONS_VERSION_MINOR "04") -set (KDE_APPLICATIONS_VERSION_MICRO "0") +set (KDE_APPLICATIONS_VERSION_MICRO "1") set(UMBRELLO_VERSION_MAJOR "2") MATH(EXPR UMBRELLO_VERSION_MINOR "18+${KDE_APPLICATIONS_VERSION_MINOR}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/maintainer/release-windows-packages new/umbrello-17.04.1/maintainer/release-windows-packages --- old/umbrello-17.04.0/maintainer/release-windows-packages 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/maintainer/release-windows-packages 2017-05-08 13:12:11.000000000 +0200 @@ -12,8 +12,14 @@ # # run ./release-windows-packages to see all modes # -REPO=openSUSE_42.2 -VERSION=2.20.90 +ROOT=home\:rhabacker\:branches\: +ROOT32=${ROOT}windows\:mingw\:win32\:KDE4 +ROOT64=${ROOT}windows\:mingw\:win64\:KDE4 +SRCROOT32=windows\:mingw\:win32 +SRCROOT64=windows\:mingw\:win64 +REPO=openSUSE_Leap_42.2 +SRCREPO=openSUSE_42.2 +VERSION=2.21.90 PHABURL=https://phabricator.kde.org oscoptions="-A https://api.opensuse.org" @@ -32,19 +38,24 @@ download) ## download rpm packages cd work rm -rf binaries - osc $oscoptions getbinaries windows\:mingw:\win32 mingw32-umbrello-installer $REPO x86_64 - osc $oscoptions getbinaries windows\:mingw:\win64 mingw64-umbrello-installer $REPO x86_64 + osc $oscoptions getbinaries $ROOT32 mingw32-umbrello-installer $REPO x86_64 + osc $oscoptions getbinaries $ROOT64 mingw64-umbrello-installer $REPO x86_64 + $0 downloadsrc + ;; + +downloadsrc) ## download source + cd work # fetch source package - src32pkg=$(osc $oscoptions ls -b -r $REPO -a x86_64 windows:mingw:win32 mingw32-umbrello | grep src) - osc $oscoptions getbinaries --sources windows\:mingw:\win32 mingw32-umbrello $REPO x86_64 $src32pkg + src32pkg=$(osc $oscoptions ls -b -r $SRCREPO -a x86_64 $SRCROOT32 mingw32-umbrello | grep src) + osc $oscoptions getbinaries --sources $SRCROOT32 mingw32-umbrello $SRCREPO x86_64 $src32pkg # we only need once source package - #src64pkg=$(osc $oscoptions ls -b -r $REPO -a x86_64 windows:mingw:win64 mingw64-umbrello | grep src) - #osc $oscoptions getbinaries --sources windows\:mingw:\win32 mingw64-umbrello $REPO x86_64 $src64pkg + #src64pkg=$(osc $oscoptions ls -b -r $SRCREPO -a x86_64 $SRCROOT64 mingw64-umbrello | grep src) + #osc $oscoptions getbinaries --sources $SRCROOT64 mingw64-umbrello $SRCREPO x86_64 $src64pkg # fetch debug packages - debug32pkg=$(osc $oscoptions ls -b -r $REPO -a x86_64 windows:mingw:win32 mingw32-umbrello | grep debug) - osc $oscoptions getbinaries windows\:mingw:\win32 mingw32-umbrello $REPO x86_64 $debug32pkg - debug64pkg=$(osc $oscoptions ls -b -r $REPO -a x86_64 windows:mingw:win64 mingw64-umbrello | grep debug) - osc $oscoptions getbinaries windows\:mingw:\win64 mingw64-umbrello $REPO x86_64 $debug64pkg + debug32pkg=$(osc $oscoptions ls -b -r $SRCREPO -a x86_64 $SRCROOT32 mingw32-umbrello | grep debug) + osc $oscoptions getbinaries $SRCROOT32 mingw32-umbrello $SRCREPO x86_64 $debug32pkg + debug64pkg=$(osc $oscoptions ls -b -r $SRCREPO -a x86_64 $SRCROOT64 mingw64-umbrello | grep debug) + osc $oscoptions getbinaries $SRCROOT64 mingw64-umbrello $SRCREPO x86_64 $debug64pkg ;; unpack) ## unpack rpm files @@ -72,6 +83,10 @@ rm -rf out/*debug*.7z arch=mingw32 version=$(find binaries/ -name *$arch*debug* | sed 's,.*debug-,,g;s,\.noarch.*,,g') + if test -z "$version"; then + echo no version found + exit 1; + fi dir=tmp/usr/i686-w64-mingw32/sys-root/mingw outfile=$PWD/out/umbrello-i686-w64-mingw32-$version-debug.7z (cd $dir; 7z a -r -mx=9 $outfile *.debug *.sym) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/ada/adawriter.cpp new/umbrello-17.04.1/umbrello/codegenerators/ada/adawriter.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/ada/adawriter.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/ada/adawriter.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -716,7 +716,7 @@ continue; ada << indent() << cleanName(at->name()) << " : " << at->getTypeName(); - if (at && ! at->getInitialValue().isEmpty() && ! at->getInitialValue().toLatin1().isEmpty()) + if (!at->getInitialValue().isEmpty() && !at->getInitialValue().toLatin1().isEmpty()) ada << " := " << at->getInitialValue(); ada << ";" << m_endl; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/cpp/cppheadercodeoperation.cpp new/umbrello-17.04.1/umbrello/codegenerators/cpp/cppheadercodeoperation.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/cpp/cppheadercodeoperation.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/cpp/cppheadercodeoperation.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -55,11 +55,13 @@ void CPPHeaderCodeOperation::updateMethodDeclaration() { ClassifierCodeDocument *ccd = dynamic_cast<ClassifierCodeDocument*>(getParentDocument()); + Q_ASSERT(ccd); bool isInterface = ccd->parentIsInterface(); UMLOperation * o = getParentOperation(); CodeGenPolicyExt *pe = UMLApp::app()->policyExt(); CPPCodeGenerationPolicy * policy = dynamic_cast<CPPCodeGenerationPolicy*>(pe); + Q_ASSERT(policy); bool isInlineMethod = policy->getOperationsAreInline(); QString tag = policy->getDocToolTag(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/cpp/cppsourcecodeoperation.cpp new/umbrello-17.04.1/umbrello/codegenerators/cpp/cppsourcecodeoperation.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/cpp/cppsourcecodeoperation.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/cpp/cppsourcecodeoperation.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -37,6 +37,7 @@ { CodeGenPolicyExt *pe = UMLApp::app()->policyExt(); CPPCodeGenerationPolicy * policy = dynamic_cast<CPPCodeGenerationPolicy*>(pe); + Q_ASSERT(policy); bool isInlineMethod = policy->getOperationsAreInline(); if (!isInlineMethod) { @@ -47,8 +48,10 @@ void CPPSourceCodeOperation::updateMethodDeclaration() { CPPSourceCodeDocument * doc = dynamic_cast<CPPSourceCodeDocument*>(getParentDocument()); + Q_ASSERT(doc); CodeGenPolicyExt *pe = UMLApp::app()->policyExt(); CPPCodeGenerationPolicy * policy = dynamic_cast<CPPCodeGenerationPolicy*>(pe); + Q_ASSERT(policy); UMLClassifier * c = doc->getParentClassifier(); UMLOperation * o = getParentOperation(); bool isInterface = doc->parentIsInterface(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/d/dcodeoperation.cpp new/umbrello-17.04.1/umbrello/codegenerators/d/dcodeoperation.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/d/dcodeoperation.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/d/dcodeoperation.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -40,6 +40,7 @@ { CodeDocument * doc = getParentDocument(); DClassifierCodeDocument * ddoc = dynamic_cast<DClassifierCodeDocument*>(doc); + Q_ASSERT(ddoc); UMLOperation * o = getParentOperation(); bool isInterface = ddoc->getParentClassifier()->isInterface(); QString endLine = getNewLineEndingChars(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/java/javaclassdeclarationblock.cpp new/umbrello-17.04.1/umbrello/codegenerators/java/javaclassdeclarationblock.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/java/javaclassdeclarationblock.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/java/javaclassdeclarationblock.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -51,6 +51,7 @@ void JavaClassDeclarationBlock::updateContent () { JavaClassifierCodeDocument *parentDoc = dynamic_cast<JavaClassifierCodeDocument*>(getParentDocument()); + Q_ASSERT(parentDoc); UMLClassifier *c = parentDoc->getParentClassifier(); CodeGenerationPolicy *commonPolicy = UMLApp::app()->commonPolicy(); QString endLine = commonPolicy->getNewLineEndingChars(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/java/javacodeoperation.cpp new/umbrello-17.04.1/umbrello/codegenerators/java/javacodeoperation.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/java/javacodeoperation.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/java/javacodeoperation.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -38,6 +38,7 @@ { CodeDocument * doc = getParentDocument(); JavaClassifierCodeDocument * javadoc = dynamic_cast<JavaClassifierCodeDocument*>(doc); + Q_ASSERT(javadoc); UMLOperation * o = getParentOperation(); bool isInterface = javadoc->getParentClassifier()->isInterface(); QString endLine = getNewLineEndingChars(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/pascal/pascalwriter.cpp new/umbrello-17.04.1/umbrello/codegenerators/pascal/pascalwriter.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/pascal/pascalwriter.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/pascal/pascalwriter.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -307,7 +307,7 @@ // continue; pas << indent() << cleanName(at->name()) << " : " << at->getTypeName(); - if (at && !at->getInitialValue().isEmpty()) + if (!at->getInitialValue().isEmpty()) pas << " := " << at->getInitialValue(); pas << ";" << m_endl; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/ruby/rubyclassdeclarationblock.cpp new/umbrello-17.04.1/umbrello/codegenerators/ruby/rubyclassdeclarationblock.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/ruby/rubyclassdeclarationblock.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/ruby/rubyclassdeclarationblock.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -52,6 +52,7 @@ void RubyClassDeclarationBlock::updateContent () { RubyClassifierCodeDocument *parentDoc = dynamic_cast<RubyClassifierCodeDocument*>(getParentDocument()); + Q_ASSERT(parentDoc); UMLClassifier *c = parentDoc->getParentClassifier(); CodeGenerationPolicy * p = UMLApp::app()->commonPolicy(); QString endLine = p->getNewLineEndingChars(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codegenerators/ruby/rubycodeoperation.cpp new/umbrello-17.04.1/umbrello/codegenerators/ruby/rubycodeoperation.cpp --- old/umbrello-17.04.0/umbrello/codegenerators/ruby/rubycodeoperation.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codegenerators/ruby/rubycodeoperation.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -43,6 +43,7 @@ { CodeDocument * doc = getParentDocument(); RubyClassifierCodeDocument * rubydoc = dynamic_cast<RubyClassifierCodeDocument*>(doc); + Q_ASSERT(rubydoc); UMLClassifier *c = rubydoc->getParentClassifier(); UMLOperation * o = getParentOperation(); bool isInterface = rubydoc->getParentClassifier()->isInterface(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/codeimport/csharp/csharpimport.cpp new/umbrello-17.04.1/umbrello/codeimport/csharp/csharpimport.cpp --- old/umbrello-17.04.0/umbrello/codeimport/csharp/csharpimport.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/codeimport/csharp/csharpimport.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -637,7 +637,8 @@ Import_Utils::addEnumLiteral(enumType, m_source[m_srcIndex - 2], QString(), m_source[m_srcIndex]); next = advance(); } else { - Import_Utils::addEnumLiteral(enumType, m_source[m_srcIndex - 1]); + if (enumType != 0) + Import_Utils::addEnumLiteral(enumType, m_source[m_srcIndex - 1]); } if (next == QLatin1String("{") || next == QLatin1String("(")) { if (! skipToClosing(next[0])) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/dialogs/parameterpropertiesdialog.cpp new/umbrello-17.04.1/umbrello/dialogs/parameterpropertiesdialog.cpp --- old/umbrello-17.04.0/umbrello/dialogs/parameterpropertiesdialog.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/dialogs/parameterpropertiesdialog.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -106,15 +106,12 @@ topLayout->addWidget(m_docWidget); // Check the proper Kind radiobutton. - if (attr) { - Uml::ParameterDirection::Enum kind = attr->getParmKind(); - if (kind == Uml::ParameterDirection::Out) - m_pOut->setChecked(true); - else if (kind == Uml::ParameterDirection::InOut) - m_pInOut->setChecked(true); - else - m_pIn->setChecked(true); - } else + Uml::ParameterDirection::Enum kind = attr->getParmKind(); + if (kind == Uml::ParameterDirection::Out) + m_pOut->setChecked(true); + else if (kind == Uml::ParameterDirection::InOut) + m_pInOut->setChecked(true); + else m_pIn->setChecked(true); // set tab order diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/dialogs/umlinstanceattributedialog.cpp new/umbrello-17.04.1/umbrello/dialogs/umlinstanceattributedialog.cpp --- old/umbrello-17.04.0/umbrello/dialogs/umlinstanceattributedialog.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/dialogs/umlinstanceattributedialog.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -48,8 +48,8 @@ i18n("Value Invalid"), 0); return false; } - UMLClassifier * pConcept = dynamic_cast<UMLClassifier *>(m_pAttribute->parent()); - UMLObject *o = pConcept->findChildObject(name); + UMLClassifier * pConcept = m_pAttribute->umlParent()->asUMLClassifier(); + UMLObject *o = pConcept ? pConcept->findChildObject(name) : 0; if (o && o != m_pAttribute) { KMessageBox::error(this, i18n("The attribute name you have chosen is already being used in this operation."), i18n("Attribute Name Not Unique"), 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/layouts/object-export.desktop new/umbrello-17.04.1/umbrello/layouts/object-export.desktop --- old/umbrello-17.04.0/umbrello/layouts/object-export.desktop 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/layouts/object-export.desktop 2017-05-08 13:12:11.000000000 +0200 @@ -49,6 +49,8 @@ Comment[it]=Disposizione di esportazione per i diagrammi degli oggetti Comment[nl]=Indeling voor objectdiagrammen exporteren Comment[pt]=Exportar a Disposição dos Diagramas de Objectos +Comment[pt_BR]=Exportar Layout para Diagramas de Objeto +Comment[sk]=Exportovať rozloženie pre diagramy objektov Comment[sv]=Exportera layout av objektdiagram Comment[uk]=Компонування для експортування діаграм об’єктів Comment[x-test]=xxExport Layout for Object Diagramsxx diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/umllistview.cpp new/umbrello-17.04.1/umbrello/umllistview.cpp --- old/umbrello-17.04.0/umbrello/umllistview.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/umllistview.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -1033,6 +1033,7 @@ connect(c, SIGNAL(attributeRemoved(UMLClassifierListItem*)), this, SLOT(childObjectAdded(UMLClassifierListItem*))); connect(object, SIGNAL(modified()), this, SLOT(slotObjectChanged())); } + break; case UMLObject::ot_Enum: { UMLEnum *e = object->asUMLEnum(); connect(e, SIGNAL(enumLiteralAdded(UMLClassifierListItem*)), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-17.04.0/umbrello/umllistviewitem.cpp new/umbrello-17.04.1/umbrello/umllistviewitem.cpp --- old/umbrello-17.04.0/umbrello/umllistviewitem.cpp 2017-04-12 14:02:27.000000000 +0200 +++ new/umbrello-17.04.1/umbrello/umllistviewitem.cpp 2017-05-08 13:12:11.000000000 +0200 @@ -514,7 +514,11 @@ return; } UMLOperation *op = m_object->asUMLOperation(); - UMLClassifier *parent = op ? op->umlParent()->asUMLClassifier() : 0; + if (!op) { + cancelRenameWithMsg(); + return; + } + UMLClassifier *parent = op->umlParent()->asUMLClassifier(); Model_Utils::OpDescriptor od; Model_Utils::Parse_Status st = Model_Utils::parseOperation(newText, od, parent); if (st == Model_Utils::PS_OK) {