[umbrello-devel] [umbrello] [Bug 344975] Crash on close of xmi file

Ralf Habacker ralf.habacker at freenet.de
Mon Mar 9 16:24:54 UTC 2015


https://bugs.kde.org/show_bug.cgi?id=344975

Ralf Habacker <ralf.habacker at freenet.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |CONFIRMED

--- Comment #3 from Ralf Habacker <ralf.habacker at freenet.de> ---
git bisect returned commit 69ec36139554f4b4c2fd4089beb4cb83c13efbbb a the
commit which introduces the crash. 

After removing the call to createBirdView() from UMLApp::setCurrentView() the
crash disappears.  From a first look it shows that because class BirdView adds
an additional view for the current scene, that there might be a a problem in
setCurrentView() and related methods with multiple views/scene combination. 

BirdView::BirdView(QDockWidget *parent, UMLView* view)
{
    // create view and add it to the container frame
    UMLScene* scene = m_view->umlScene();
    m_birdView = new QGraphicsView(scene); //A: , container);

The call stack shows, that in the error case there are multiple removeView...
calls raised by a call to qApp->processEvents() in  UMLApp::setCurrentView()

After removing this call (without the above mentioned workaround)  the crash
disappears. 

The call to processEvent() has been added in KDE 3.5 times as a hacky
workaround.

commit 455fb83e413f0d8361d8c025a7fbc20ecf339807
Author: Oliver Kellogg <okellogg at users.sourceforge.net>
Date:   Fri Sep 22 06:23:00 2006 +0000

    setCurrentView(): Had to insert kapp->processEvents() because clicking
     on different diagrams in the list view was not working properly.
    (This is hacky. Perhaps somebody has a better idea?)

    svn path=/branches/KDE/3.5/kdesdk/umbrello/; revision=587279

Without this call clicking on different diagrams is not an issue anymore, so it
looks anyway obsolate. Any comments ?

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the umbrello-devel mailing list