Version: 1.5.2 (using KDE 3.5.4 "release 62.1" , openSUSE ) Compiler: Target: i586-suse-linux OS: Linux (i686) release 2.6.16.13-4-default When i use the feature "split view" and draw something. The karbon14 crash. Verificação na inicialização da configuração do sistema desabilitada. Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1230604624 (LWP 4181)] [KCrash handler] #6 0xb620bb4a in VStrokeFillPreview::update () from /opt/kde3/lib/libkarboncommon.so.0 #7 0xb61cb76d in KarbonView::selectionChanged () from /opt/kde3/lib/libkarboncommon.so.0 #8 0xb61cbdf8 in KarbonPart::slotCommandExecuted () from /opt/kde3/lib/libkarboncommon.so.0 #9 0xb61cc135 in KarbonPart::qt_invoke () from /opt/kde3/lib/libkarboncommon.so.0 #10 0xb7570e81 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #11 0xb624e671 in VCommandHistory::commandExecuted () from /opt/kde3/lib/libkarboncommon.so.0 #12 0xb6252ca2 in VCommandHistory::addCommand () from /opt/kde3/lib/libkarboncommon.so.0 #13 0xb61cc1de in KarbonPart::addCommand () from /opt/kde3/lib/libkarboncommon.so.0 #14 0xb5a555e8 in VShapeTool::mouseDragRelease () from /opt/kde3/lib/kde3/karbon_defaulttools.so #15 0xb61cae02 in VTool::mouseEvent () from /opt/kde3/lib/libkarboncommon.so.0 #16 0xb61cae54 in VToolController::mouseEvent () from /opt/kde3/lib/libkarboncommon.so.0 #17 0xb61d030d in KarbonView::mouseEvent () from /opt/kde3/lib/libkarboncommon.so.0 #18 0xb61fe9e6 in VCanvas::eventFilter () from /opt/kde3/lib/libkarboncommon.so.0 #19 0xb757081c in QObject::activate_filters () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0xb757088b in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #21 0xb75a98cc in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #22 0xb7511f07 in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #23 0xb7512e3b in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #24 0xb7b9ec23 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #25 0xb74b1e12 in QETWidget::translateMouseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #26 0xb74b0fe6 in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3 #27 0xb74c162a in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #28 0xb7528d28 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #29 0xb7528bbe in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #30 0xb7511abf in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #31 0xb72e9efd in kdemain () from /opt/kde3/lib/libkdeinit_karbon.so #32 0xb72ec534 in kdeinitmain () from /opt/kde3/lib/kde3/karbon.so #33 0x0804e2ff in launch () #34 0x0804eb8a in handle_launcher_request () #35 0x0804ef0f in handle_requests () #36 0x0805010c in main ()
Yes, so it does. At least when I used the pen and doodled a little.
SVN commit 598564 by jaham: do not call selectionChanged on all views when a command is executed, only do it within the active view BUG:134900 M +0 -6 karbon_part.cc M +10 -0 karbon_view.cc M +3 -0 karbon_view.h --- branches/koffice/1.6/koffice/karbon/karbon_part.cc #598563:598564 @@ -521,12 +521,6 @@ KarbonPart::slotCommandExecuted( VCommand *command ) { setModified( true ); - if( command && command->changesSelection() ) - { - QPtrListIterator<KoView> itr( views() ); - for( ; itr.current() ; ++itr ) - static_cast<KarbonView*>( itr.current() )->selectionChanged(); - } } void --- branches/koffice/1.6/koffice/karbon/karbon_view.cc #598563:598564 @@ -277,6 +277,9 @@ connect( m_strokeFillPreview, SIGNAL( strokeSelected() ), m_ColorManager, SLOT( setStrokeDocker() ) ); connect( m_strokeFillPreview, SIGNAL( fillSelected( ) ), m_ColorManager, SLOT( setFillDocker() ) ); + + connect( m_part->commandHistory(), SIGNAL( commandExecuted( VCommand* ) ), this, SLOT( commandExecuted( VCommand* ) ) ); + selectionChanged(); //create toolbars @@ -297,6 +300,7 @@ if( shell() && container == m_toolbox ) { + disconnect( m_part->commandHistory(), SIGNAL( commandExecuted( VCommand* ) ), this, SLOT( commandExecuted( VCommand* ) ) ); delete m_toolbox; m_toolbox = 0L; m_toolController->youAintGotNoToolBox(); @@ -1518,5 +1522,11 @@ return m_toolController; } +void KarbonView::commandExecuted( VCommand *command ) +{ + if( command && command->changesSelection() ) + selectionChanged(); +} + #include "karbon_view.moc" --- branches/koffice/1.6/koffice/karbon/karbon_view.h #598563:598564 @@ -68,6 +68,8 @@ class VToolBox; class VToolController; +class VCommand; + class KARBONCOMMON_EXPORT KarbonView : public KoView, public KXMLGUIBuilder { Q_OBJECT @@ -196,6 +198,7 @@ void slotFillChanged( const VFill & ); void canvasContentsMoving( int x, int y ); + void commandExecuted( VCommand *command ); signals: void zoomChanged( double );
You need to log in before you can comment on or make changes to this bug.