[haiku-commits] haiku: hrev46361 - src/apps/haiku-depot

  • From: anevilyak@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 13 Nov 2013 00:15:25 +0100 (CET)

hrev46361 adds 1 changeset to branch 'master'
old head: 7192a9313eb0309039096f427d062c97d2119cf5
new head: 58114b347649d1a79bffe93baa10814dac078cec
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=58114b3+%5E7192a93

----------------------------------------------------------------------------

58114b3: HaikuDepot: Fix #10115.
  
  - Also reset package state in the BFatalErrorException case.
  
  - Show actual alerts for fatal install/uninstall errors rather than simply
    printing them to the console.

                                         [ Rene Gollent <rene@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev46361
Commit:      58114b347649d1a79bffe93baa10814dac078cec
URL:         http://cgit.haiku-os.org/haiku/commit/?id=58114b3
Author:      Rene Gollent <rene@xxxxxxxxxxx>
Date:        Tue Nov 12 23:13:55 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/10115

----------------------------------------------------------------------------

1 file changed, 18 insertions(+), 4 deletions(-)
src/apps/haiku-depot/PackageManager.cpp | 22 ++++++++++++++++++----

----------------------------------------------------------------------------

diff --git a/src/apps/haiku-depot/PackageManager.cpp 
b/src/apps/haiku-depot/PackageManager.cpp
index cc7c83b..a28046d 100644
--- a/src/apps/haiku-depot/PackageManager.cpp
+++ b/src/apps/haiku-depot/PackageManager.cpp
@@ -13,6 +13,7 @@
 
 #include <stdio.h>
 
+#include <Alert.h>
 #include <Catalog.h>
 
 #include <package/DownloadFileRequest.h>
@@ -113,9 +114,16 @@ public:
                try {
                        fPackageManager->Install(&packageName, 1);
                } catch (BFatalErrorException ex) {
-                       fprintf(stderr, "Fatal error occurred while installing 
package "
-                               "%s: %s (%s)\n", packageName, 
ex.Message().String(),
+                       _SetDownloadedPackagesState(NONE);
+                       BString errorString;
+                       errorString.SetToFormat(
+                               "Fatal error occurred while installing package 
%s: "
+                               "%s (%s)\n", packageName, ex.Message().String(),
                                ex.Details().String());
+                       BAlert* alert(new(std::nothrow) 
BAlert(B_TRANSLATE("Fatal error"),
+                               errorString, B_TRANSLATE("Close")));
+                       if (alert != NULL)
+                               alert->Go(NULL);
                        return ex.Error();
                } catch (BAbortedByUserException ex) {
                        _SetDownloadedPackagesState(NONE);
@@ -207,9 +215,15 @@ public:
                try {
                        fPackageManager->Uninstall(&packageName, 1);
                } catch (BFatalErrorException ex) {
-                       fprintf(stderr, "Fatal error occurred while 
uninstalling package "
-                               "%s: %s (%s)\n", packageName, 
ex.Message().String(),
+                       BString errorString;
+                       errorString.SetToFormat(
+                               "Fatal error occurred while uninstalling 
package %s: "
+                               "%s (%s)\n", packageName, ex.Message().String(),
                                ex.Details().String());
+                       BAlert* alert(new(std::nothrow) 
BAlert(B_TRANSLATE("Fatal error"),
+                               errorString, B_TRANSLATE("Close")));
+                       if (alert != NULL)
+                               alert->Go(NULL);
                        return ex.Error();
                } catch (BAbortedByUserException ex) {
                        return B_OK;


Other related posts:

  • » [haiku-commits] haiku: hrev46361 - src/apps/haiku-depot - anevilyak