Bug 89485 - cut and paste misplacement
Summary: cut and paste misplacement
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-14 14:38 UTC by Roberto Rambaldi
Modified: 2004-11-21 04:23 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
document causing the bug (29.66 KB, application/octet-stream)
2004-09-14 14:40 UTC, Roberto Rambaldi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Roberto Rambaldi 2004-09-14 14:38:45 UTC
Version:           1.3.0 (using KDE 3.2.1, SuSE)
Compiler:          gcc version 3.3.3 (SuSE Linux)
OS:                Linux (i686) release 2.6.7-ck1

The bug is related to a specific document, I open this .xmi document (I can provide it), then I select a state press Ctrl-C, then Ctrl-V and all the states are moved in the top part of the design.

On the log I get the following message:
umbrello: updateAssociations: error from findInterceptOnEdge for assocType=514 ownWidget=RICHIESTA EAN/ART. otherWidget=ART. NON TROVATO
umbrello: updateAssociations: error from findInterceptOnEdge for assocType=514 ownWidget=RICHIESTA EAN/ART. otherWidget=AGGIUNTA ARTICOLO
Comment 1 Roberto Rambaldi 2004-09-14 14:40:27 UTC
Created attachment 7524 [details]
document causing the bug
Comment 2 Roberto Rambaldi 2004-09-14 14:42:13 UTC
umbrello version 1.3.0, compiled with gcc-3.3.4 under SuSE 9.1 and KDE 3.2
Comment 3 Jonathan Riddell 2004-09-20 18:14:15 UTC
Actually it crashes for me when trying to copy a state.

#0  0x4090be88 in posix_memalign () from /usr/lib/libkdecore.so.4
#1  0x4090b646 in malloc () from /usr/lib/libkdecore.so.4
#2  0x4134548e in operator new(unsigned) () from /usr/lib/libstdc++.so.5
#3  0x40f83c96 in QString::QString(char const*) () from /usr/lib/libqt-mt.so.3
#4  0x08187c27 in UMLDoc::saveToXMI(QIODevice&) (this=0x843cc08, file=@0x85b37a8) at umldoc.cpp:1630
#5  0x0818dfe9 in UMLDoc::addToUndoStack() (this=0x843cc08) at umldoc.cpp:2591
#6  0x0818d085 in UMLDoc::setModified(bool, bool) (this=0x843cc08, modified=true, addToUndo=true)
    at umldoc.cpp:2394
#7  0x08179e70 in UMLApp::slotEditPaste() (this=0x8376370) at uml.cpp:789
#8  0x0817d21f in UMLApp::qt_invoke(int, QUObject*) (this=0x8376370, _id=87, _o=0xbfffea70) at uml.moc:246
#9  0x40cb152c in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/libqt-mt.so.3
#10 0x40cb1354 in QObject::activate_signal(int) () from /usr/lib/libqt-mt.so.3
#11 0x4056939b in KAction::activated() () from /usr/lib/libkdeui.so.4
#12 0x40568d6f in KAction::slotActivated() () from /usr/lib/libkdeui.so.4
#13 0x405695a1 in KAction::qt_invoke(int, QUObject*) () from /usr/lib/libkdeui.so.4
#14 0x40cb152c in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/libqt-mt.so.3
#15 0x40cb1354 in QObject::activate_signal(int) () from /usr/lib/libqt-mt.so.3
#16 0x40862e8b in KAccelPrivate::menuItemActivated() () from /usr/lib/libkdecore.so.4
#17 0x4086170c in KAccelPrivate::eventFilter(QObject*, QEvent*) () from /usr/lib/libkdecore.so.4
#18 0x40caee5e in QObject::activate_filters(QEvent*) () from /usr/lib/libqt-mt.so.3
#19 0x40caed8c in QObject::event(QEvent*) () from /usr/lib/libqt-mt.so.3
#20 0x40ce760f in QWidget::event(QEvent*) () from /usr/lib/libqt-mt.so.3
#21 0x40da5ca2 in QMainWindow::event(QEvent*) () from /usr/lib/libqt-mt.so.3
#22 0x40c54bcf in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/libqt-mt.so.3
#23 0x40c546c4 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libqt-mt.so.3
#24 0x407def13 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdecore.so.4
#25 0x40c4c9c2 in QAccelManager::tryAccelEvent(QWidget*, QKeyEvent*) () from /usr/lib/libqt-mt.so.3
#26 0x40c4c39e in qt_tryAccelEvent(QWidget*, QKeyEvent*) () from /usr/lib/libqt-mt.so.3
#27 0x40bebb41 in QETWidget::translateKeyEvent(_XEvent const*, bool) () from /usr/lib/libqt-mt.so.3
#28 0x40be7392 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libqt-mt.so.3
#29 0x40bfe1a4 in QEventLoop::processEvents(unsigned) () from /usr/lib/libqt-mt.so.3
#30 0x40c66f28 in QEventLoop::enterLoop() () from /usr/lib/libqt-mt.so.3
#31 0x40c66dd8 in QEventLoop::exec() () from /usr/lib/libqt-mt.so.3
#32 0x40c54e21 in QApplication::exec() () from /usr/lib/libqt-mt.so.3
#33 0x08159cc9 in main (argc=1, argv=0xbffff8a4) at main.cpp:86
Comment 4 Tobias Koenig 2004-11-21 04:23:10 UTC
CVS commit by tokoe: 

Fixed bug #89485.

We can't check for UMLDoc::isLoading() here, because this method is
_always_ called during loading, with the result that activated()
isn't called and the widgets don't get the m_bActivated bit set.

That results the shift of all widgets when you copy+paste a single widget
in a loaded diagram.

CCMAIL:89485-done@bugs.kde.org


  M +2 -1      umlview.cpp   1.191


--- kdesdk/umbrello/umbrello/umlview.cpp  #1.190:1.191
@@ -1538,5 +1538,6 @@ bool UMLView::activate() {
                 if(obj->isActivated() || obj->getBaseType() == wt_Message)
                         continue;
-                if (!m_pDoc->loading() && !obj->activate())
+
+                if (!obj->activate())
                         continue;
                 obj -> setVisible( true );