Bug 111134 - Quanta crashes at deleting a file
Summary: Quanta crashes at deleting a file
Status: RESOLVED FIXED
Alias: None
Product: quanta
Classification: Miscellaneous
Component: general (show other bugs)
Version: 3.4.2
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: András Manţia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-20 09:26 UTC by Henk
Modified: 2005-09-22 11:28 UTC (History)
1 user (show)

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 Henk 2005-08-20 09:26:11 UTC
Version:           3.4.2 (using KDE 3.4.2 Level "a" , SUSE 9.2 UNSUPPORTED)
Compiler:          gcc version 3.3.4 (pre 3.3.5 20040809)
OS:                Linux (i686) release 2.6.8-24.17-default

I deleted a file by clicking on the menu in a tab.

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 1104499168 (LWP 8624)]
[KCrash handler]
#7  0x080e1b59 in QuantaView::mayRemove ()
#8  0x080e608b in ViewManager::removeView ()
#9  0x080e656b in QuantaApp::slotDeleteFile ()
#10 0x080e663d in ViewManager::slotDeleteFile ()
#11 0x080e66ba in ViewManager::qt_invoke ()
#12 0x411ab5be in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0x414fd4d2 in QSignal::signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0x411c8b13 in QSignal::activate () from /usr/lib/qt3/lib/libqt-mt.so.3
#15 0x412bbe58 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0x40c48ae1 in KPopupMenu::mouseReleaseEvent ()
   from /opt/kde3/lib/libkdeui.so.4
#17 0x411e1ba5 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#18 0x41148e0f in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0x4114b1b6 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#20 0x40e5d9a1 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#21 0x410e650b in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x410e5146 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x410f5d68 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0x41160da1 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0x4114a80f in QApplication::enter_loop ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x412bcc0e in QPopupMenu::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#27 0x0808f3d6 in ViewManager::slotTabContextMenu ()
#28 0x080e672a in ViewManager::qt_invoke ()
#29 0x411ab5be in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#30 0x40b18197 in KTabWidget::contextMenu () from /opt/kde3/lib/libkdeui.so.4
#31 0x40b1892c in KTabWidget::contextMenu () from /opt/kde3/lib/libkdeui.so.4
#32 0x40b1a7cf in KTabWidget::qt_invoke () from /opt/kde3/lib/libkdeui.so.4
#33 0x400d82be in KMdiDocumentViewTabWidget::qt_invoke ()
   from /opt/kde3/lib/libkmdi.so.1
#34 0x411ab5be in QObject::activate_signal ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#35 0x40b1c2f4 in KTabBar::contextMenu () from /opt/kde3/lib/libkdeui.so.4
#36 0x40b1e419 in KTabBar::mousePressEvent () from /opt/kde3/lib/libkdeui.so.4
#37 0x411e1bb6 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#38 0x412db962 in QTabBar::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#39 0x41148e0f in QApplication::internalNotify ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#40 0x4114b1b6 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#41 0x40e5d9a1 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#42 0x410e628e in QETWidget::translateMouseEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#43 0x410e5146 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#44 0x410f5d68 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib/libqt-mt.so.3
#45 0x41160da1 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#46 0x41160be6 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#47 0x4114a89f in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#48 0x080f6431 in main ()
Comment 1 András Manţia 2005-08-20 14:40:35 UTC
SVN commit 451325 by amantia:

Do not close a file when it is removed from a project. Fixes the crash when deleting a file which is part of a project from the tab context menu.

Change some Delete button to Remove.

BUG: 111134

 M  +2 -0      ChangeLog  
 M  +3 -3      README  
 M  +1 -2      project/project.cpp  
 M  +15 -8     quanta.kdevelop  
 M  +1 -1      treeviews/projecttreeview.cpp  
 M  +1 -1      utility/quantanetaccess.cpp  


--- branches/KDE/3.5/kdewebdev/quanta/ChangeLog #451324:451325
@@ -19,6 +19,8 @@
         - treat "<" as the end of a tag name. Fixes autoreplacement of opening/closing
           tags in cases when a PHP area starts directly after a tag name. [#106911]
         - fix the Kommander XML scripts.
+        - fix crash when deleting a file which is part of a project from the tab
+          context menu [#111134]
 
  - improvements:
         - nicer processing of CVS output
--- branches/KDE/3.5/kdewebdev/quanta/README #451324:451325
@@ -66,9 +66,9 @@
 announcements, merchandise and you can make some donation to support
 Quanta.
  An alternative way to use the latest and greatest version is to get it
-from CVS. More info about getting the sources from KDE CVS can be found
-at: http://developer.kde.org/source/. The module name for Quanta is
-"kdewebdev".
+from the Subversion repository. More info about getting the sources from 
+KDE SVN can be found at: http://developer.kde.org/source/. The module name 
+for Quanta is "kdewebdev".
 
 5. Installation
 ---------------
--- branches/KDE/3.5/kdewebdev/quanta/project/project.cpp #451324:451325
@@ -406,14 +406,13 @@
 
   if (d->m_modified)
     setModified();  // there happens more than setting the flag !
-  emit closeFile(urlToRemove);
   emit reloadTree( &(d->m_projectFiles), false, QStringList() );
   emit newStatus();
   
   QString urlPath = QExtFileInfo::toRelative(urlToRemove, d->baseURL).path();
   QString nice = urlPath;
   nice = KStringHandler::lsqueeze(nice, 60);
-  if (KMessageBox::warningContinueCancel(d->m_mainWindow, i18n("<qt>Do you want to remove <br><b>%1</b><br> from the server(s) as well?</qt>").arg(nice), i18n("Remove From Server"), KStdGuiItem::del(), "RemoveFromServer") == KMessageBox::Continue )
+  if (KMessageBox::warningContinueCancel(d->m_mainWindow, i18n("<qt>Do you want to remove <br><b>%1</b><br> from the server(s) as well?</qt>").arg(nice), i18n("Remove From Server"), KStdGuiItem::remove(), "RemoveFromServer") == KMessageBox::Continue )
   {
     QDomNode profilesNode = d->m_sessionDom.firstChild().firstChild().namedItem("uploadprofiles");  
     QDomNodeList profileList = profilesNode.toElement().elementsByTagName("profile");
--- branches/KDE/3.5/kdewebdev/quanta/quanta.kdevelop #451324:451325
@@ -167,7 +167,7 @@
     </groups>
     <tree>
       <hidenonprojectfiles>false</hidenonprojectfiles>
-      <hidepatterns/>
+      <hidepatterns></hidepatterns>
       <showvcsfields>true</showvcsfields>
     </tree>
   </kdevfileview>
@@ -190,16 +190,16 @@
   </kdevdoctreeview>
   <kdevdebugger>
     <general>
-      <dbgshell></dbgshell>
-      <programargs></programargs>
+      <dbgshell/>
+      <programargs/>
       <gdbpath>/usr/bin/</gdbpath>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
       <floatingtoolbar>false</floatingtoolbar>
       <runappinappdirectory>true</runappinappdirectory>
-      <configGdbScript></configGdbScript>
-      <runShellScript></runShellScript>
-      <runGdbScript></runGdbScript>
+      <configGdbScript/>
+      <runShellScript/>
+      <runGdbScript/>
     </general>
     <display>
       <staticmembers>false</staticmembers>
@@ -264,9 +264,13 @@
       <automaticHeaderCompletion>true</automaticHeaderCompletion>
       <headerCompletionDelay>250</headerCompletionDelay>
     </codecompletion>
-    <references/>
+    <references>
+      <pcs>Qt</pcs>
+      <pcs>QUanta lib</pcs>
+      <pcs>KDElibs</pcs>
+    </references>
     <creategettersetter>
-      <prefixGet></prefixGet>
+      <prefixGet/>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
       <parameterName>theValue</parameterName>
@@ -278,6 +282,9 @@
       <version>3</version>
       <root>/usr/lib/qt3</root>
     </qt>
+    <designerintegration>
+      <qtdesigner/>
+    </designerintegration>
   </kdevcppsupport>
   <kdevcvsservice>
     <recursivewhenupdate>true</recursivewhenupdate>
--- branches/KDE/3.5/kdewebdev/quanta/treeviews/projecttreeview.cpp #451324:451325
@@ -424,7 +424,7 @@
     QString nice = QExtFileInfo::toRelative(url, m_projectBaseURL).path();
     nice = KStringHandler::lsqueeze(nice, 60);
     if ( !askForRemove ||
-         KMessageBox::warningContinueCancel(this,i18n("<qt>Do you really want to remove <br><b>%1</b><br> from the project?</qt>").arg(nice), i18n("Remove From Project"), KStdGuiItem::del(), "RemoveFromProject") == KMessageBox::Continue )
+         KMessageBox::warningContinueCancel(this,i18n("<qt>Do you really want to remove <br><b>%1</b><br> from the project?</qt>").arg(nice), i18n("Remove From Project"), KStdGuiItem::remove(), "RemoveFromProject") == KMessageBox::Continue )
     {
       if ( currentKFileTreeViewItem()->isDir() ) url.adjustPath(+1);
       emit removeFromProject(url);
--- branches/KDE/3.5/kdewebdev/quanta/utility/quantanetaccess.cpp #451324:451325
@@ -205,7 +205,7 @@
     {
       QString nice = QExtFileInfo::toRelative(url, baseURL).path();
       nice = KStringHandler::lsqueeze(nice, 60);
-      if ( KMessageBox::Continue != KMessageBox::warningContinueCancel(window, i18n("<qt>Do you really want to remove <br><b>%1</b><br> from the project?</qt>").arg(nice), i18n("Remove From Project"), KStdGuiItem::del(), "RemoveFromProject") )
+      if ( KMessageBox::Continue != KMessageBox::warningContinueCancel(window, i18n("<qt>Do you really want to remove <br><b>%1</b><br> from the project?</qt>").arg(nice), i18n("Remove From Project"), KStdGuiItem::remove(), "RemoveFromProject") )
       {
         return false;
       }
Comment 2 tony 2005-09-21 12:19:51 UTC
I have a similar problem. This is a 'project' and when I delete a file by right clicking the tab it deletes it and then it pops a query box asking to remove it from the server. Selecting yes or no causes a crash. Back trace....

Using host libthread_db library "/lib/tls/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1217136960 (LWP 6824)]
[KCrash handler]
#4  0xb7aff797 in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#5  0x0809998c in QMemArray<char>::detach ()
#6  0x0809c75b in QMemArray<char>::detach ()
#7  0x080f6fd9 in QMapIterator<QString, QString>::inc ()
#8  0x080bf7f1 in QMap<QString, QString>::operator[] ()
#9  0x080f6655 in QMapIterator<QString, QString>::inc ()
#10 0x080f98f8 in QMapIterator<QString, QString>::inc ()
#11 0xb7aff10e in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#12 0xb7e31bad in QSignal::signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#13 0xb7b17eed in QSignal::activate () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#14 0xb7c01ce6 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x06d387f7 in KPopupMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.4
#16 0xb7b353ca in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0xb7aa0539 in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#18 0xb7aa0779 in QApplication::notify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x06aa91e8 in KApplication::notify () from /usr/lib/libkdecore.so.4
#20 0xb7a3f6c6 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0xb7a3d861 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0xb7a501a6 in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0xb7ab5b85 in QEventLoop::enterLoop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0xb7a9f761 in QApplication::enter_loop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#25 0xb7c056b3 in QPopupMenu::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#26 0xbfa86a40 in ?? ()
#27 0x00000000 in ?? ()

 
Comment 3 András Manţia 2005-09-21 13:41:29 UTC
The backtrace is not the same and indicates more a Qt bug, but well, you 
may try to update from SVN (3.5 branch!) or wait for 3.5 to come out.
Comment 4 tony 2005-09-22 00:58:19 UTC
As it is not causing me any problems I'll wait for 3.5 to come out.
Comment 5 Henk 2005-09-22 11:28:10 UTC
I'll wait for 3.5 too. I have no time to compile a source.

Henk Weebers