CVS commit by domi: only move an object if its parents are not yet moving.. This fixes bug #63250. CCMAIL:63250-done#bugs.kde.org M +3 -0 ChangeLog 1.82 M +9 -1 modes/moving.cc 1.29 --- kdeedu/kig/ChangeLog #1.81:1.82 @@ -1,4 +1,7 @@ 2003-09-01 Dominique Devriese + * only move an object if its parents are not yet moving.. This + fixes bug #63250. + * remove the defective operator| and operator& implementations for the Objects class --- kdeedu/kig/modes/moving.cc #1.28:1.29 @@ -122,12 +122,20 @@ MovingMode::MovingMode( const Objects& o d->pwwsm = c; Objects objs; + Objects emo; for ( Objects::const_iterator i = os.begin(); i != os.end(); ++i ) if ( (*i)->canMove() ) { - d->emo.upush( *i ); + emo.upush( *i ); d->refmap[*i] = (*i)->moveReferencePoint(); objs.upush( *i ); objs |= getAllParents( Objects( *i ) ); }; + + emo = calcPath( emo ); + for ( Objects::const_iterator i = emo.begin(); i != emo.end(); ++i ) + if ( !isChild( *i, d->emo ) ) + d->emo.push_back( *i ); + + kdDebug() << k_funcinfo << d->emo.size() << endl; d->mon = new MonitorDataObjects( objs );