src/gui/kernel/qactiongroup.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
--- a/src/gui/kernel/qactiongroup.cpp	Tue Jan 26 12:42:25 2010 +0200
+++ b/src/gui/kernel/qactiongroup.cpp	Tue Feb 02 00:43:10 2010 +0200
@@ -72,10 +72,16 @@
     Q_Q(QActionGroup);
     QAction *action = qobject_cast<QAction*>(q->sender());
     Q_ASSERT_X(action != 0, "QWidgetGroup::_q_actionChanged", "internal error");
-    if(exclusive && action->isChecked() && action != current) {
-        if(current)
-            current->setChecked(false);
-        current = action;
+    if(exclusive) {
+        if (action->isChecked()) {
+            if (action != current) {
+                if(current)
+                    current->setChecked(false);
+                current = action;
+            }
+        } else if (action == current) {
+            current = 0;
+        }
     }
 }