Added/moved itemData_.setDirty() calls to make sure clientgroupitems are reset properly in

all cases, including when the clientGroup modification request (add,remove, ...) fails.
CCBUG: 223726

svn path=/trunk/KDE/kdebase/workspace/; revision=1081125
icc-effect-5.14.5
Hugo Pereira Da Costa 2010-01-27 20:10:33 +00:00
parent 49deef6c2e
commit 0917db504e
1 changed files with 4 additions and 1 deletions

View File

@ -1546,6 +1546,7 @@ namespace Oxygen
// detach tab from window // detach tab from window
if( drag->target() == 0 && itemData_.count() > 1 ) if( drag->target() == 0 && itemData_.count() > 1 )
{ {
itemData_.setDirty( true );
removeFromClientGroup( sourceItem_, removeFromClientGroup( sourceItem_,
widget()->frameGeometry().adjusted( widget()->frameGeometry().adjusted(
layoutMetric( LM_OuterPaddingLeft ), layoutMetric( LM_OuterPaddingLeft ),
@ -1665,8 +1666,8 @@ namespace Oxygen
{ itemClicked = -1; } { itemClicked = -1; }
} }
moveItemInClientGroup( from, itemClicked );
itemData_.setDirty( true ); itemData_.setDirty( true );
moveItemInClientGroup( from, itemClicked );
widget()->update(); widget()->update();
} else { } else {
@ -1674,6 +1675,7 @@ namespace Oxygen
setForceActive( true ); setForceActive( true );
int itemClicked( OxygenClient::itemClicked( point, true ) ); int itemClicked( OxygenClient::itemClicked( point, true ) );
long source = QString( groupData->data( clientGroupItemDragMimeType() ) ).toLong(); long source = QString( groupData->data( clientGroupItemDragMimeType() ) ).toLong();
itemData_.setDirty( true );
moveItemToClientGroup( source, itemClicked ); moveItemToClientGroup( source, itemClicked );
} }
@ -1709,6 +1711,7 @@ namespace Oxygen
{ {
if( button == itemData_[i].closeButton_.data() ) if( button == itemData_[i].closeButton_.data() )
{ {
itemData_.setDirty( true );
closeClientGroupItem( i ); closeClientGroupItem( i );
return true; return true;
} }