Branch: master

2028aa37 2015-10-01 03:23:27 Timothy Pearson
Fix kdesktop_lock crash on error with certain PAM stack configurations
M tdmlib/kgreet_classic.cpp
diff --git a/tdmlib/kgreet_classic.cpp b/tdmlib/kgreet_classic.cpp
index f99acfb..24fe32e 100644
--- a/tdmlib/kgreet_classic.cpp
+++ b/tdmlib/kgreet_classic.cpp
@@ -482,22 +482,32 @@
 		}
 	}
 
-	// assert( !running );
-	setActive2( true );
+	// assert(!running);
+	setActive2(true);
 	if (authTok) {
-		passwd1Edit->erase();
-		passwd2Edit->erase();
-		passwd1Edit->setFocus();
-	} else {
+		if (passwd1Edit) {
+			passwd1Edit->erase();
+		}
+		if (passwd2Edit) {
+			passwd2Edit->erase();
+		}
+		if (passwd1Edit) {
+			passwd1Edit->setFocus();
+		}
+	}
+	else {
 		passwdEdit->erase();
-		if (loginEdit && loginEdit->isEnabled())
+		if (loginEdit && loginEdit->isEnabled()) {
 			passwdEdit->setEnabled( true );
+		}
 		else {
 			setActive( true );
-			if (loginEdit && loginEdit->text().isEmpty())
+			if (loginEdit && loginEdit->text().isEmpty()) {
 				loginEdit->setFocus();
-			else
+			}
+			else {
 				passwdEdit->setFocus();
+			}
 		}
 	}
 }