1. 19 Oct, 2014 1 commit
  2. 11 Oct, 2014 3 commits
  3. 08 Oct, 2014 2 commits
  4. 28 Sep, 2014 1 commit
    • Felix Rohrbach's avatar
      Fix creation of documentation for UML-Components · 864832c0
      Felix Rohrbach authored
      This fixes two issues connected to the DocWindow.
      
      1. When DocWindow::showDocumentation is called, it checks whether it
      is called with the same UMLObject/Scene/... But it missed that
      UMLObjects and UMLScenes might be passed to the function embedded in a
      widget.
      
      2. The overwrite parameter of DocWindow::showDocumentation did the
      opposite of what the documentation said. I changed it to match the
      documentation and adjusted a few functions using it wrong.
      
      BUG: 255424
      BUG: 331215
      FIXED-IN: 4.14.2
      REVIEW: 120369
      864832c0
  5. 22 Sep, 2014 2 commits
    • Oliver Kellogg's avatar
      Address http://bugs.kde.org/attachment.cgi?id=88780 · 4ee55eae
      Oliver Kellogg authored
      (In reply to Mark Stanton from comment #0)
      > [...] The display doesn't resize and the app crashes.
      > I may have tried this before the project had fully loaded. [...]
      
      The backtrace confirms this, apparently you double clicked on a class widget
      on a diagram while Umbrello was still busy in UMLDoc::resolveTypes().
      By the way, Umbrello is finished loading when you see "Ready." in the lower
      left corner of Umbrello's main window.
      
      The following changes fend off double clicks on diagram objects while the
      program is still busy in loadFromXMI() or resolveTypes():
      
      umbrello/umldoc.cpp
      - In default constructor, initialize m_bTypesAreResolved to true.
      - In function closeDocument() remove assignment to m_bTypesAreResolved.
      - In function openDocument(),
        - Add a few missing KIO::NetAccess::removeTempFile() calls in return-on-
          error situations;
        - Set m_bTypesAreResolved false before loadFromXMI()/loadFromMDL() calls;
        - Set m_bLoading false and m_bTypesAreResolved true before returning.
      - In function loading() return true also when m_bTypesAreResolved is false.
      - In function resolveTypes() postpone setting of m_bTypesAreResolved to true
        until type resolution has actually completed.
      
      umbrello/umlscene.cpp
      - In function mousePressEvent() call m_pToolBarState->mouseDoubleClick()
        only if m_doc->loading() returns false.
      
      CCBUG: 339278
      4ee55eae
    • Oliver Kellogg's avatar
  6. 12 Sep, 2014 1 commit
  7. 10 Sep, 2014 3 commits
    • Oliver Kellogg's avatar
      Premise: The following changes are only after-the-fact crash prevention. · 518e457d
      Oliver Kellogg authored
      The root question of why the ERD is NULL is unclear.
      
      (In reply to Gabriela Serventi from comment #5)
      > [...]
      > But, the first ERD is completely unusable. For example, if I press right
      > mouse button -> Export as Picture on the ERD, Umbrello crash again with this
      > backtrace:
      > [...]
      > Thread 1 (Thread 0xb77387c0 (LWP 2558)):
      > [KCrash Handler]
      > #6  0x4bc134c4 in QGraphicsView::scene() const () from /lib/libQtGui.so.4
      > #7  0x08333d72 in UMLListView::slotMenuSelection(QAction*) ()
      > #8  0x08334c10 in UMLListView::contextMenuEvent(QContextMenuEvent*) ()
      
      umbrello/umllistview.cpp function slotMenuSelection()
      - In case ListPopupMenu::mt_Export_Image, guard against NULL return value
        from m_doc->findView(), and guard against its umlScene() being NULL.
      
      > [...]
      > And If I press right mouse button ->  Duplicate on the ERD, Umbrello crash
      > again with this backtrace:
      > [...]
      > Thread 1 (Thread 0xb76fd7c0 (LWP 3188)):
      > [KCrash Handler]
      > #6  0x4bc134c4 in QGraphicsView::scene() const () from /lib/libQtGui.so.4
      > #7  0x080e99cd in UMLClipboard::copy(bool) ()
      > #8  0x08313625 in UMLApp::editCutCopy(bool) ()
      > #9  0x08313869 in UMLApp::slotEditCopy() ()
      > #10 0x08333b7d in UMLListView::slotMenuSelection(QAction*) ()
      > #11 0x08334c10 in UMLListView::contextMenuEvent(QContextMenuEvent*) ()
      > #12 0x4b58c337 in QWidget::event(QEvent*) () from /lib/libQtGui.so.4
      
      umbrello/clipboard/umlclipboard.cpp function copy()
      - In case fromView==true, guard against UMLApp::app()->currentView() being
        NULL, and also guard against its umlScene() being NULL.
      
      CCBUG: 338983
      518e457d
    • Oliver Kellogg's avatar
      (In reply to Oliver Kellogg from comment #2) · 286493f5
      Oliver Kellogg authored
      > [...]
      > However, the backtrace tells a different story:
      > Somehow Umbrello thinks you are _moving_ the diagram in the list view, not
      > double clicking on it.
      
      Here is the fix for the crash in this case:
      
      umbrello/clipboard/umlclipboard.cpp
      - In function checkItemForCopyType() case Model_Utils::typeIsDiagram(type),
        check return value from doc->findView(item->ID()) against NULL prior to
        insertion into m_ViewList.
      
      BUG: 338983
      286493f5
    • Oliver Kellogg's avatar
      Fix for crash setting name on diagram-only association via Association · 292b7446
      Oliver Kellogg authored
      Properties page according to analysis in comment #2:
      
      umbrello/dialogs/pages/associationgeneralpage.cpp
      - In function updateObject() add test of m_pStereoChkB against NULL before
        dereferencing.
      
      BUG:338980
      292b7446
  8. 05 Sep, 2014 2 commits
  9. 03 Sep, 2014 4 commits
  10. 02 Sep, 2014 2 commits
  11. 31 Aug, 2014 2 commits
  12. 30 Aug, 2014 8 commits
  13. 29 Aug, 2014 6 commits
    • Oliver Kellogg's avatar
      Address http://bugs.kde.org/show_bug.cgi?id=81364#c26, · a060b160
      Oliver Kellogg authored
      >
      > While working on bug 338536 I notice that the class diagrams in this
      > testcase are not loaded, and various related error messages are logged.
      
      Umbrello has a concept of "folders" which are like packages but can
      additionally contain diagrams. Rational Rose does not make this distinction;
      only packages are used, and packages may contain diagrams.
      Umbrello did not support nesting folders inside packages, a case exposed
      by this model. Fixed as follows:
      
      umbrello/package.cpp function appendPackages()
      - Include objects of type ot_Folder in result list.
      
      umbrello/folder.cpp function findView(id)
      - Instead of iterating over m_objects, first recursively gather contained
        packages and folders using UMLPackage::appendPackages() and then iterate
        over the resulting list.
      
      CCBUG: 81364
      CCMAIL: m.hounsell@acfr.usyd.edu.au
      a060b160
    • Ralf Habacker's avatar
    • Ralf Habacker's avatar
      Use Model_Utils::convert_LVT_IT() for setting tree view icon on uml class... · dd6b3bf6
      Ralf Habacker authored
      Use Model_Utils::convert_LVT_IT() for setting tree view icon on uml class objects stereotyped to 'class-or-package'..
      
      CCBUG:336012
      dd6b3bf6
    • Ralf Habacker's avatar
      Use 'class-or-package' icon in tree view on loading uml object class with... · 0a25cc14
      Ralf Habacker authored
      Use 'class-or-package' icon in tree view on loading uml object class with stereotype 'class-or-package'.
      
      CCBUG:336012
      0a25cc14
    • Ralf Habacker's avatar
      Save imported "class-or-package" uml object, which has been later retyped as... · 4be30312
      Ralf Habacker authored
      Save imported "class-or-package" uml object, which has been later retyped as package into the xmi file as UMLPackage.
      
      On next xmi file load this package is a regular UMLPackage.
      
      CCBUG:336012
      4be30312
    • Ralf Habacker's avatar
      Automate required namespace/package user interaction on c++ import. · 1de0459d
      Ralf Habacker authored
      If the type of an imported uml object could not be determined the import
      creates an uml class object and flags the stereotype to be "class-or-package".
      Such uml objects are displayed in the tree view by a dedicated icon.
      
      If the real type of the related uml object is determined later as a class,
      the flag is removed and the uml object is usable as a generic class.
      
      If the real object is a namespace, the flag is removed and the uml object
      is set to a package type and could be used as regular created package.
      This is possible because the initial created object of type UMLClassifier
      is derived from UMLPackage. In the latter case ClassifierWidget paints
      the object as Package.
      
      The tree view and classifier widget context menu has been extended to
      provide functions to convert a "class or package" uml object to a class
      or package.
      
      Because the "class or package" state is flagged in the stereotype, saving
      and loading of an umbrello project containing "class or package"
      flagged uml objects is completly transparent.
      
      CCBUG:336012
      1de0459d
  14. 28 Aug, 2014 1 commit
  15. 26 Aug, 2014 2 commits