[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.5/kdebase/workspace/plasma/generic/applets/lock_logout
From:       Björn Ruberg <bjoern () ruberg-wegener ! de>
Date:       2010-09-18 22:29:11
Message-ID: 20100918222911.8514FAC88C () svn ! kde ! org
[Download RAW message or body]

SVN commit 1176859 by ruberg:

BUG: 251153
Fixed crash. Applet is now rejecting a configuration without any visibile buttons.



 M  +10 -4     lockout.cpp  


--- branches/KDE/4.5/kdebase/workspace/plasma/generic/applets/lock_logout/lockout.cpp #1176858:1176859
@@ -280,31 +280,37 @@
 
     if (m_showLockButton != ui.checkBox_lock->isChecked()) {
         m_showLockButton = !m_showLockButton;
-        cg.writeEntry("showLockButton", m_showLockButton);
         changed = true;
     }
 
     if (m_showLogoutButton != ui.checkBox_logout->isChecked()) {
         m_showLogoutButton = !m_showLogoutButton;
-        cg.writeEntry("showLogoutButton", m_showLogoutButton);
         changed = true;
     }
 
     if (m_showSleepButton != ui.checkBox_sleep->isChecked()) {
         m_showSleepButton = !m_showSleepButton;
-        cg.writeEntry("showSleepButton", m_showSleepButton);
         changed = true;
     }
 
     if (m_showHibernateButton != ui.checkBox_hibernate->isChecked()) {
         m_showHibernateButton = !m_showHibernateButton;
-        cg.writeEntry("showHibernateButton", m_showHibernateButton);
         changed = true;
     }
 
     if (changed) {
         int oldButtonCount = m_visibleButtons;
         countButtons();
+	if(m_visibleButtons == 0) {
+	    configChanged(); // if no button was selected, reject configuration and reload previous
+	    return;
+	}
+	
+	cg.writeEntry("showHibernateButton", m_showHibernateButton);
+	cg.writeEntry("showSleepButton", m_showSleepButton);
+	cg.writeEntry("showLogoutButton", m_showLogoutButton);
+	cg.writeEntry("showLockButton", m_showLockButton);
+	
         showButtons();
         if (formFactor() != Plasma::Horizontal && formFactor() != Plasma::Vertical) {
             resize(size().width(), (size().height() / oldButtonCount) * m_visibleButtons);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic