[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [k3b/save-document-data] src: Fix open project issue.
From: Leslie Zhai <xiangzhai83 () gmail ! com>
Date: 2016-08-23 6:51:04
Message-ID: E1bc5Y8-0002Vh-S6 () code ! kde ! org
[Download RAW message or body]
Git commit 7fe2bbecc5b5ff386332cc0a8efa3d05d7f8edeb by Leslie Zhai.
Committed on 23/08/2016 at 06:50.
Pushed by lesliezhai into branch 'save-document-data'.
Fix open project issue.
M +9 -10 src/k3bprojectmanager.cpp
http://commits.kde.org/k3b/7fe2bbecc5b5ff386332cc0a8efa3d05d7f8edeb
diff --git a/src/k3bprojectmanager.cpp b/src/k3bprojectmanager.cpp
index a498d83..74b8569 100644
--- a/src/k3bprojectmanager.cpp
+++ b/src/k3bprojectmanager.cpp
@@ -451,15 +451,13 @@ K3b::Doc* K3b::ProjectManager::openProject( const QUrl& url )
QApplication::setOverrideCursor( QCursor(Qt::WaitCursor) );
QTemporaryFile tmpfile;
+ tmpfile.setAutoRemove(false);
KIO::StoredTransferJob* transferJob = KIO::storedGet( url );
- connect( transferJob, &KJob::result, [&](KJob*) {
- if( transferJob->error() != KJob::NoError ) {
- tmpfile.open();
- tmpfile.write( transferJob->data() );
- tmpfile.close();
- }
- } );
- transferJob->exec();
+ if (!transferJob->exec())
+ return NULL;
+ tmpfile.open();
+ tmpfile.write(transferJob->data());
+ tmpfile.close();
// ///////////////////////////////////////////////
// first check if it's a store or an old plain xml file
@@ -467,7 +465,7 @@ K3b::Doc* K3b::ProjectManager::openProject( const QUrl& url )
QDomDocument xmlDoc;
// try opening a store
- KoStore* store = KoStore::createStore( &tmpfile, KoStore::Read );
+ KoStore* store = KoStore::createStore( tmpfile.fileName(), KoStore::Read );
if( store ) {
if( !store->bad() ) {
// try opening the document inside the store
@@ -486,6 +484,7 @@ K3b::Doc* K3b::ProjectManager::openProject( const QUrl& url )
if( !success ) {
// try reading an old plain document
+ tmpfile.remove();
if ( tmpfile.open() ) {
//
// First check if this is really an xml file beacuse if this is a very big file
@@ -507,7 +506,7 @@ K3b::Doc* K3b::ProjectManager::openProject( const QUrl& url )
}
if( xmlDoc.setContent( &tmpfile ) )
success = true;
- tmpfile.close();
+ tmpfile.remove();
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic