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]