Bug 144442 - Crash when loading xmi with actor as object of sequence diagram
Summary: Crash when loading xmi with actor as object of sequence diagram
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-20 06:23 UTC by Egbert Voigt
Modified: 2007-04-20 07:28 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Egbert Voigt 2007-04-20 06:23:37 UTC
Version:           1.5.7beta1 (using KDE KDE 3.5.5)
Installed from:    Compiled From Sources
Compiler:          gcc 4.1.2 
OS:                Linux

Example to repeat the crash:

 1. Create an actor from scratch
 2. Put this actor in a new sequence diagram
 3. Save the model (test.xmi)
 
Umbrello crash will be occur while loading this previous saved file (test.xmi).
Comment 1 Oliver Kellogg 2007-04-20 07:28:43 UTC
SVN commit 656062 by okellogg:

activate(): Resolve m_pObject before doing anything else.
BUG:144442


 M  +1 -0      ChangeLog  
 M  +3 -3      umbrello/umlwidget.cpp  


--- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #656061:656062
@@ -33,6 +33,7 @@
 * Class diagram in folder not loaded correctly from xmi (144119)
 * Sequence diagram crashes during message inserting (144293)
 * No synchronisation of comments when round-tripping (144346)
+* Crash when loading xmi with actor as object of sequence diagram (144442)
 
 Version 1.5.61
 
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/umlwidget.cpp #656061:656062
@@ -469,9 +469,6 @@
 }
 
 bool UMLWidget::activate(IDChangeLog* /*ChangeLog  = 0 */) {
-    setFont( m_Font );
-    setSize( getWidth(), getHeight() );
-    m_bActivated = true;
     if (widgetHasUMLObject(m_Type) && m_pObject == NULL) {
         m_pObject = m_pDoc->findObjectById(m_nId);
         if (m_pObject == NULL) {
@@ -480,6 +477,9 @@
             return false;
         }
     }
+    setFont(m_Font);
+    setSize(getWidth(), getHeight());
+    m_bActivated = true;
     updateComponentSize();
     if( m_pView -> getPastePoint().x() != 0 ) {
         FloatingTextWidget * ft = 0;