From ef53c5f75c48e5b280c7a079b505767f91c2acf3 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 9 Nov 2016 10:30:52 +0100 Subject: [PATCH] Correctly catch the "soft errors" now Signed-off-by: Joas Schilling --- lib/private/installer.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/private/installer.php b/lib/private/installer.php index 3b39357b4b6..a3b714d7b3e 100644 --- a/lib/private/installer.php +++ b/lib/private/installer.php @@ -556,9 +556,12 @@ class OC_Installer{ if ($softErrors) { try { OC_Installer::installShippedApp($filename); - } catch (\Doctrine\DBAL\Exception\TableExistsException $e) { - $errors[$filename] = $e; - continue; + } catch (\OC\HintException $e) { + if ($e->getPrevious() instanceof \Doctrine\DBAL\Exception\TableExistsException) { + $errors[$filename] = $e; + continue; + } + throw $e; } } else { OC_Installer::installShippedApp($filename); @@ -585,13 +588,13 @@ class OC_Installer{ //install the database $appPath = OC_App::getAppPath($app); if(is_file("$appPath/appinfo/database.xml")) { - OC_DB::createDbFromStructure("$appPath/appinfo/database.xml"); try { OC_DB::createDbFromStructure("$appPath/appinfo/database.xml"); } catch (\Doctrine\DBAL\Exception\TableExistsException $e) { throw new \OC\HintException( 'Failed to enable app ' . $app, - 'Please ask for help via one of our support channels.' + 'Please ask for help via one of our support channels.', + 0, $e ); } }