gparted r858 - in trunk: . src
- From: gedakc svn gnome org
 
- To: svn-commits-list gnome org
 
- Subject: gparted r858 - in trunk: . src
 
- Date: Wed, 18 Jun 2008 18:30:19 +0000 (UTC)
 
Author: gedakc
Date: Wed Jun 18 18:30:19 2008
New Revision: 858
URL: http://svn.gnome.org/viewvc/gparted?rev=858&view=rev
Log:
Fixed incorrectly recognized partition move/resize operations
Modified:
   trunk/ChangeLog
   trunk/src/OperationResizeMove.cc
Modified: trunk/src/OperationResizeMove.cc
==============================================================================
--- trunk/src/OperationResizeMove.cc	(original)
+++ trunk/src/OperationResizeMove.cc	Wed Jun 18 18:30:19 2008
@@ -57,17 +57,27 @@
 	} ;
 	Action action = NONE ;
 
-	if ( partition_new .get_length() > partition_original .get_length() )
+	if ( partition_new .get_length() > partition_original .get_length() ) {
+		//Grow partition
 		action = GROW ;
-	else if ( partition_new .get_length() < partition_original .get_length() )
+		if ( partition_new .sector_start > partition_original .sector_start )
+			action = MOVE_RIGHT_GROW ;
+		if ( partition_new .sector_start < partition_original .sector_start )
+			action = MOVE_LEFT_GROW ;
+	} else if ( partition_new .get_length() < partition_original .get_length() ) {
+		//Shrink partition
 		action = SHRINK ;
-
-	if ( partition_new .sector_start > partition_original .sector_start &&
-	     partition_new .sector_end > partition_original .sector_end )
-		action = action == GROW ? MOVE_RIGHT_GROW : action == SHRINK ? MOVE_RIGHT_SHRINK : MOVE_RIGHT ;
-	else if ( partition_new .sector_start < partition_original .sector_start &&
-	     partition_new .sector_end < partition_original .sector_end )
-		action = action == GROW ? MOVE_LEFT_GROW : action == SHRINK ? MOVE_LEFT_SHRINK : MOVE_LEFT ;
+		if ( partition_new .sector_start > partition_original .sector_start )
+			action = MOVE_RIGHT_SHRINK ;
+		if ( partition_new .sector_start < partition_original .sector_start )
+			action = MOVE_LEFT_SHRINK ;
+	} else {
+		//No change in partition size
+		if ( partition_new .sector_start > partition_original .sector_start )
+			action = MOVE_RIGHT ;
+		if ( partition_new .sector_start < partition_original .sector_start )
+			action = MOVE_LEFT ;
+	}
 
 	switch ( action )
 	{
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]