Index: propdlg.cpp =================================================================== RCS file: /home/kde/kdeadmin/kuser/propdlg.cpp,v retrieving revision 1.84 diff -u -3 -p -r1.84 propdlg.cpp --- ./kuser/propdlg.cpp 29 Nov 2004 00:03:48 -0000 1.84 +++ ./kuser/propdlg.cpp 29 Mar 2005 15:11:18 -0000 @@ -706,7 +706,8 @@ void propdlg::mergeUser( KUser *user, KU bool posix, samba = false; newuser->copy( user ); - if ( cbposix->state() != QButton::NoChange ) { + + if ( kug->getUsers().getCaps() & KUsers::Cap_Disable_POSIX && cbposix->state() != QButton::NoChange ) { if ( cbposix->isChecked() ) newuser->setCaps( newuser->getCaps() & ~KUser::Cap_POSIX ); else @@ -873,7 +874,7 @@ bool propdlg::checkShell(const QString & bool propdlg::check() { bool one = ( mUsers.getFirst() == mUsers.getLast() ); - bool posix = !( cbposix->isChecked() ); + bool posix = !(kug->getUsers().getCaps() & KUsers::Cap_Disable_POSIX) || !( cbposix->isChecked() ); if ( one && posix && leid->text().isEmpty() ) { KMessageBox::sorry( 0, i18n("You need to specify an UID.") ); @@ -928,7 +929,8 @@ void propdlg::slotOk() uid_t newuid = leid->text().toULong(); - if ( one && !cbposix->isChecked() && olduid != newuid ) + if ( one && (!(kug->getUsers().getCaps() & KUsers::Cap_Disable_POSIX) || !cbposix->isChecked()) + && olduid != newuid ) { if (kug->getUsers().lookup(newuid)) { KMessageBox::sorry( 0,