Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > 3cf9f0b98b70ef2bcebce20444926203 > files > 2

kde-plasma-smooth-tasks-0.0.1-0.7.20120313hge8a97edfdebc.fc18.src.rpm

diff -r e8a97edfdebc applet/SmoothTasks/Task.cpp
--- a/applet/SmoothTasks/Task.cpp	Sat Mar 03 23:20:42 2012 +0100
+++ b/applet/SmoothTasks/Task.cpp	Mon Mar 19 10:03:15 2012 +0100
@@ -83,6 +83,7 @@
 }
 
 void Task::itemDestroyed() {
+	emit destroyed();
 	m_abstractItem = NULL;
 	m_task         = NULL;
 	m_group        = NULL;
diff -r e8a97edfdebc applet/SmoothTasks/Task.h
--- a/applet/SmoothTasks/Task.h	Sat Mar 03 23:20:42 2012 +0100
+++ b/applet/SmoothTasks/Task.h	Mon Mar 19 10:03:15 2012 +0100
@@ -114,6 +114,7 @@
 	void updateIcon(const QIcon& icon);
 	void update();
 	void gotTask();
+	void destroyed();
 };
 
 } // namespace SmoothTasks
diff -r e8a97edfdebc applet/SmoothTasks/TaskItem.cpp
--- a/applet/SmoothTasks/TaskItem.cpp	Sat Mar 03 23:20:42 2012 +0100
+++ b/applet/SmoothTasks/TaskItem.cpp	Mon Mar 19 10:03:15 2012 +0100
@@ -122,6 +122,9 @@
 	
 	// light
 	connect(m_light, SIGNAL(update()), this, SLOT(update()));
+
+	//destroyed
+	connect(m_task, SIGNAL(destroyed()), this, SLOT(taskDestroyed()));
 	
 	m_preferredTextLayoutSize = ::SmoothTasks::preferredTextLayoutSize(m_task->text(), KGlobalSettings::taskbarFont());
 	
@@ -833,6 +836,9 @@
 	Q_UNUSED(option);
 	Q_UNUSED(widget);
 
+	if (m_task == NULL)
+		return;
+
 	const QRectF bounds = boundingRect();
 	
 	if (!bounds.isValid())
@@ -1348,5 +1354,12 @@
 	return expanderElement(m_applet->location(), m_orientation);
 }
 
+void TaskItem::taskDestroyed()
+{
+	m_task = NULL;
+	m_abstractItem = NULL;
+	deleteLater();
+}
+
 } // namespace SmoothTasks
 #include "TaskItem.moc"
diff -r e8a97edfdebc applet/SmoothTasks/TaskItem.h
--- a/applet/SmoothTasks/TaskItem.h	Sat Mar 03 23:20:42 2012 +0100
+++ b/applet/SmoothTasks/TaskItem.h	Mon Mar 19 10:03:15 2012 +0100
@@ -190,6 +190,7 @@
 	void updateToolTip();
 	void publishIconGeometry();
 	void updateExpansion();
+	void taskDestroyed();
 };
 
 } // namespace SmoothTasks