[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/multimedia/k3b
From:       Michal Malek <michalm () jabster ! pl>
Date:       2010-09-04 21:09:35
Message-ID: 20100904210935.84889AC887 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1171693 by mmalek:

Fixed GPF: prevent double-delete by using QObject::deleteLater() on process object
BUG: 249941

 M  +1 -0      ChangeLog  
 M  +10 -11    src/rip/videodvd/k3bvideodvdrippingpreview.cpp  


--- trunk/extragear/multimedia/k3b/ChangeLog #1171692:1171693
@@ -13,6 +13,7 @@
 Bugfixes:
  * Crash on start when checking device capabilities (246822)
  * Search paths on "Programs" options are not saved (248648)
+ * Crash on generation of DVD previews in DVD ripping list (249941)
 
 2.0.1
 =====
--- trunk/extragear/multimedia/k3b/src/rip/videodvd/k3bvideodvdrippingpreview.cpp #1171692:1171693
@@ -1,6 +1,7 @@
 /*
  *
  * Copyright (C) 2006-2008 Sebastian Trueg <trueg@k3b.org>
+ * Copyright (C) 2009-2010 Michal Malek <michalm@jabster.pl>
  *
  * This file is part of the K3b project.
  * Copyright (C) 1998-2008 Sebastian Trueg <trueg@k3b.org>
@@ -17,15 +18,13 @@
 #include "k3bcore.h"
 #include "k3bexternalbinmanager.h"
 #include "k3bdevice.h"
-
 #include "k3bprocess.h"
-#include <ktempdir.h>
-#include <kdebug.h>
+#include <KTempDir>
+#include <KDebug>
+#include <QDir>
 
-#include <qdir.h>
 
 
-
 K3b::VideoDVDRippingPreview::VideoDVDRippingPreview( QObject* parent )
     : QObject( parent ),
       m_tempDir( 0 ),
@@ -37,7 +36,7 @@
 K3b::VideoDVDRippingPreview::~VideoDVDRippingPreview()
 {
     cancel();
-    delete m_process;
+    m_process->deleteLater();
     delete m_tempDir;
 }
 
@@ -46,9 +45,9 @@
 {
     // cleanup first
     cancel();
-    delete m_process;
-    delete m_tempDir;
+    m_process->deleteLater();
     m_process = 0;
+    delete m_tempDir;
     m_tempDir = 0;
     m_canceled = false;
 
@@ -99,9 +98,9 @@
         // something went wrong when starting the program
         // it "should" be the executable
         kDebug() << "(K3b::VideoDVDRippingPreview) Could not start transcode.";
-        delete m_process;
-        delete m_tempDir;
+        m_process->deleteLater();
         m_process = 0;
+        delete m_tempDir;
         m_tempDir = 0;
         emit previewDone( false );
     }
@@ -131,7 +130,7 @@
     m_tempDir = 0;
 
     // clean up
-    delete m_process;
+    m_process->deleteLater();
     m_process = 0;
 
     kDebug() << "Preview done:" << success;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic