|
Lines 1698-1718
void QDragManager::drop()
Link Here
|
| 1698 |
|
1698 |
|
| 1699 |
bool QX11Data::xdndHandleBadwindow() |
1699 |
bool QX11Data::xdndHandleBadwindow() |
| 1700 |
{ |
1700 |
{ |
| 1701 |
QDragManager *manager = QDragManager::self(); |
1701 |
if (qt_xdnd_current_target) { // avoid possibly on-demand creating the manager in X error handler |
| 1702 |
if (manager->object && qt_xdnd_current_target) { |
1702 |
QDragManager *manager = QDragManager::self(); |
| 1703 |
qt_xdnd_current_target = 0; |
1703 |
if (manager->object) { |
| 1704 |
qt_xdnd_current_proxy_target = 0; |
1704 |
qt_xdnd_current_target = 0; |
| 1705 |
manager->object->deleteLater(); |
1705 |
qt_xdnd_current_proxy_target = 0; |
| 1706 |
manager->object = 0; |
1706 |
manager->object->deleteLater(); |
| 1707 |
delete xdnd_data.deco; |
1707 |
manager->object = 0; |
| 1708 |
xdnd_data.deco = 0; |
1708 |
xdnd_data.deco->deleteLater(); |
| 1709 |
return true; |
1709 |
xdnd_data.deco = 0; |
|
|
1710 |
return true; |
| 1711 |
} |
| 1710 |
} |
1712 |
} |
| 1711 |
if (qt_xdnd_dragsource_xid) { |
1713 |
if (qt_xdnd_dragsource_xid) { |
| 1712 |
qt_xdnd_dragsource_xid = 0; |
1714 |
qt_xdnd_dragsource_xid = 0; |
| 1713 |
if (qt_xdnd_current_widget) { |
1715 |
if (qt_xdnd_current_widget) { |
| 1714 |
QDragLeaveEvent e; |
1716 |
QDragLeaveEvent e; |
| 1715 |
QApplication::sendEvent(qt_xdnd_current_widget, &e); |
1717 |
QApplication::postEvent(qt_xdnd_current_widget, &e); |
| 1716 |
qt_xdnd_current_widget = 0; |
1718 |
qt_xdnd_current_widget = 0; |
| 1717 |
} |
1719 |
} |
| 1718 |
return true; |
1720 |
return true; |