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

List:       kde-commits
Subject:    KDE/kdebase/workspace/plasma/applets/tasks
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2009-06-12 0:27:59
Message-ID: 1244766479.478176.17592.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 980550 by aseigo:

protect access to m_group
BUG:196043


 M  +8 -5      taskgroupitem.cpp  


--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/taskgroupitem.cpp #980549:980550
@@ -455,7 +455,7 @@
     if (item->isActive()) {
         //kDebug() << "item is Active" ;
         m_activeTaskIndex = indexOf(item);
-    } else if (m_group->members().size() == 1) {
+    } else if (!m_group || m_group->members().size() == 1) {
         m_activeTaskIndex = 0;
     }
 
@@ -847,7 +847,10 @@
     AbstractTaskItem *taskItem = abstractTaskItem(item);
 
     m_tasksLayout->removeTaskItem(taskItem);
-    m_tasksLayout->insert(m_group->members().indexOf(item), taskItem);
+
+    if (m_group) {
+        m_tasksLayout->insert(m_group->members().indexOf(item), taskItem);
+    }
 }
 
 
@@ -954,8 +957,8 @@
             m_applet->groupManager().manualGroupingRequest(taskItem->abstractItem(), \
                m_group);
         } else if (targetTask->isWindowItem() && (group == m_group)) { //Both Items \
in same group  //Group Items together
-            int targetIndex = \
                m_group->members().indexOf(targetTask->abstractItem());
-            int sourceIndex = m_group->members().indexOf(taskItem->abstractItem());
+            int targetIndex = m_group ? \
m_group->members().indexOf(targetTask->abstractItem()) : 0; +            int \
sourceIndex = m_group ? m_group->members().indexOf(taskItem->abstractItem()) : 0;  \
TaskManager::ItemList members;  members.append(targetTask->abstractItem());
             members.append(taskItem->abstractItem());
@@ -982,7 +985,7 @@
         if (group == m_group) { //same group
             //kDebug() << "Drag within group";
             layoutTaskItem(taskItem, event->pos());
-        } else { //task item was dragged outside of group -> group move
+        } else if (m_group) { //task item was dragged outside of group -> group move
             AbstractTaskItem *directMember = \
abstractTaskItem(m_group->directMember(group));  if (directMember) {
                 layoutTaskItem(directMember, event->pos()); //we need to get the \
group right under the receiver group


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

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