[gparted/+psusi/refactor: 15/19] Clean up OperationDetail timer initialization



commit 76f241aa3f426b298b7cdbc0a349aad31a4ab621
Author: Phillip Susi <psusi ubuntu com>
Date:   Sun Jan 27 20:51:19 2013 -0500

    Clean up OperationDetail timer initialization
    
    The timer variables were not being properly initialized leading to bogus
    time values sometimes being displayed.

 src/OperationDetail.cc |   23 ++++++++---------------
 1 files changed, 8 insertions(+), 15 deletions(-)
---
diff --git a/src/OperationDetail.cc b/src/OperationDetail.cc
index 1f22cef..86b4127 100644
--- a/src/OperationDetail.cc
+++ b/src/OperationDetail.cc
@@ -22,24 +22,16 @@
 namespace GParted
 {
 
-OperationDetail::OperationDetail()
+OperationDetail::OperationDetail() : fraction( -1 ), cancelflag( 0 ), status( STATUS_NONE ), time_start( -1 
),
+                                    time_elapsed( -1 )
 {
-       status = STATUS_NONE; // prevent uninitialized member access
-       cancelflag = 0;
-       set_status( STATUS_NONE ) ;
-       fraction = -1 ;
-       time_elapsed = -1 ;
 }
 
-OperationDetail::OperationDetail( const Glib::ustring & description, OperationDetailStatus status, Font font 
)
+OperationDetail::OperationDetail( const Glib::ustring & description, OperationDetailStatus status, Font font 
) :
+       fraction( -1 ), cancelflag( 0 ), status( STATUS_NONE ), time_start( -1 ), time_elapsed( -1 )
 {
-       cancelflag = 0;
-       this ->status = STATUS_NONE; // prevent uninitialized member access
-       set_description( description, font ) ;
-       set_status( status ) ;
-
-       fraction = -1 ;
-       time_elapsed = -1 ;
+       set_description( description, font );
+       set_status( status );
 }
 
 OperationDetail::~OperationDetail()
@@ -92,7 +84,8 @@ void OperationDetail::set_status( OperationDetailStatus status )
                                break ;
                        case STATUS_ERROR:
                        case STATUS_SUCCES:
-                               time_elapsed = std::time( NULL ) - time_start ;
+                               if( time_start != -1 )
+                                       time_elapsed = std::time( NULL ) - time_start ;
                                break ;
 
                        default:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]