Sophie

Sophie

distrib > Mageia > 5 > x86_64 > by-pkgid > 39359d2c850920af1f87c6d71762d90a > files > 15

kdebase4-workspace-4.11.22-2.mga5.src.rpm

diff -up kde-workspace-4.11.22/kdm/kcm/kdm-users.cpp.usericon kde-workspace-4.11.22/kdm/kcm/kdm-users.cpp
--- kde-workspace-4.11.22/kdm/kcm/kdm-users.cpp.usericon	2015-11-11 15:37:27.665659091 +0100
+++ kde-workspace-4.11.22/kdm/kcm/kdm-users.cpp	2015-11-11 15:38:06.765793497 +0100
@@ -89,8 +89,7 @@ KDMUsersWidget::KDMUsersWidget(QWidget *
     defminuid = QString::number(minUid);
     defmaxuid = QString::number(maxUid);
 
-    m_userPixDir = config->group("X-*-Greeter").readEntry("FaceDir",
-            QString(KStandardDirs::installPath("data") + "kdm/faces" + '/'));
+    m_userPixDir = config->group( "X-*-Greeter" ).readEntry( "FaceDir", "/usr/share/faces" ) + '/';
 
     if (!getpwnam("nobody"))
         KMessageBox::sorry(this, i18n(
@@ -303,11 +302,15 @@ void KDMUsersWidget::slotUserSelected()
 {
     QString user = usercombo->currentText();
     QImage p;
-    if (user != m_defaultText && p.load(m_userPixDir + user + ".face.icon"))
-        rstuserbutton->setEnabled(true);
+    if (user != m_defaultText && p.load( m_userPixDir + user + ".png" ))
+	    rstuserbutton->setEnabled( !getuid() );
+    else if (user != m_defaultText && p.load( m_userPixDir + user ))
+	    rstuserbutton->setEnabled( !getuid() );
+    else if (user != m_defaultText && p.load( m_userPixDir + user + ".face.icon" ))
+	    rstuserbutton->setEnabled( !getuid() );
     else {
-        p.load(m_userPixDir + ".default.face.icon");
-        rstuserbutton->setEnabled(false);
+        p.load( m_userPixDir + "default.png" );
+	    rstuserbutton->setEnabled(false);
     }
     userbutton->setIcon(QPixmap::fromImage(p.scaled(48, 48, Qt::KeepAspectRatio, Qt::SmoothTransformation)));
 }
@@ -371,7 +374,7 @@ void KDMUsersWidget::changeUserPix(const
 void KDMUsersWidget::slotUserButtonClicked()
 {
     KIconDialog dlg;
-    dlg.setCustomLocation(KStandardDirs::installPath("data") + "kdm/pics/users");
+    dlg.setCustomLocation( "/usr/share/faces" );
     dlg.setup(KIconLoader::NoGroup, KIconLoader::Any, false, 48, true, true, false);
     QString ic = dlg.openDialog();
     if (ic.isEmpty())
diff -up kde-workspace-4.11.22/kdm/kfrontend/kgreeter.cpp.usericon kde-workspace-4.11.22/kdm/kfrontend/kgreeter.cpp
--- kde-workspace-4.11.22/kdm/kfrontend/kgreeter.cpp.usericon	2015-11-11 15:37:27.665659091 +0100
+++ kde-workspace-4.11.22/kdm/kfrontend/kgreeter.cpp	2015-11-11 15:38:06.765793497 +0100
@@ -323,7 +323,7 @@ KGreeter::insertUser(const QImage &defau
             fn += '/';
             fn += ps->pw_name;
         }
-        fn += ".face.icon";
+        QFile(fn + ".png").exists() ?  fn += ".png" : fn += ".face.icon";
         if (loadFace(fn, p, pp))
             goto gotit;
     } while (--nd >= 0);
@@ -385,11 +385,18 @@ KGreeter::insertUsers()
 
     QImage default_pix;
     if (userView) {
-        QByteArray fn = QFile::encodeName(_faceDir) + "/.default.face.icon";
-        if (!loadFace(fn, default_pix, QByteArray(), true)) {
-            default_pix = QImage(48, 48, QImage::Format_ARGB32);
-            default_pix.fill(0);
-        }
+        QByteArray fn = QFile::encodeName( _faceDir + "/default.png" );
+	if (!loadFace( fn, default_pix , QByteArray(), true))
+	{
+		fn = QFile::encodeName( _faceDir + "/.default.face.icon" );
+		if (!loadFace( fn, default_pix , QByteArray(), true))
+		{
+			logError( "Cannot open default user face\n" );
+			default_pix = QImage( 48, 48, QImage::Format_ARGB32 );
+			default_pix.fill( 0 );
+		}
+	}
+
     }
     int realLowUserId = interpretMinUid(_lowUserId);
     if (_showUsers == SHOW_ALL) {