Fix "Show Launcher when not running" option in taskbar widget
Review Request #112241 - Created Aug. 24, 2013 and discarded
Fix the crash in plasma-desktop caused by newer QML taskbar widget. Simple steps to reproduce this crash. 1) Pin any task/application to taskbar using "show launcher when not running" option. 2) Close application. 3) Desktop crashes. Reason : 1) In Tasks::itemGeometryChanged(int,int,int,int,int) line 300 it checks for three conditions, -> pointer to task is not null -> taskItem itself is not null -> scene is not null 2) This condition gets false when item is LauncherItem. In function later line 334 when calling iconRect.moveTopLeft(QPoint) function it gets crashed. Patch : This patch adds check in if condition to check if taskItem is TaskManager::LauncherItemType and return from function if this is launcher item.
Testing compilation - check installation - check plasmoidviewer - check in panel - check independently - check
Hm, on the face of it, this patch doesn't really make sense ... launcher items don't have an associated task, so the function should already return early and the extra condition should be redundant. Unless there's a race condition in the library somewhere ... but then it still wouldn't crash on translating a QPoint. Thank you for the patch, but I really still have to find a way to reproduce this bug before just applying this blindly - it might be treating a symptom instead of addressing the root cause.