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



commit 33a735f74753995da3e7ccddd702ce7ab4fa4f8c
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 |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)
---
diff --git a/src/OperationDetail.cc b/src/OperationDetail.cc
index 4c9fa3f..5eb5ec3 100644
--- a/src/OperationDetail.cc
+++ b/src/OperationDetail.cc
@@ -22,22 +22,15 @@
 namespace GParted
 {
 
-OperationDetail::OperationDetail()
+OperationDetail::OperationDetail() : fraction( -1 ), status( STATUS_NONE ), time_start( -1 ), time_elapsed( -1 )
 {
-	status = STATUS_NONE; // prevent uninitialized member access
-	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 ), status( STATUS_NONE ), time_start( -1 ), time_elapsed( -1 )
 {
-	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()
@@ -90,7 +83,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]