diff --git a/frame/panel/mainpanelcontrol.cpp b/frame/panel/mainpanelcontrol.cpp index b40bc3bcc..b583b9ce5 100755 --- a/frame/panel/mainpanelcontrol.cpp +++ b/frame/panel/mainpanelcontrol.cpp @@ -677,8 +677,9 @@ void MainPanelControl::mousePressEvent(QMouseEvent *e) QWidget::mousePressEvent(e); } -void MainPanelControl::startDrag(DockItem *item) +void MainPanelControl::startDrag(DockItem *dockItem) { + QPointer item = dockItem; const QPixmap pixmap = item->grab(); item->setDraging(true); @@ -692,7 +693,7 @@ void MainPanelControl::startDrag(DockItem *item) connect(m_appDragWidget, &AppDragWidget::destroyed, this, [ = ] { m_appDragWidget = nullptr; - if (qobject_cast(item)->isValid()) { + if (!item.isNull() && qobject_cast(item)->isValid()) { if (-1 == m_appAreaSonLayout->indexOf(item) && m_dragIndex != -1) { insertItem(m_dragIndex, item); m_dragIndex = -1;