Changeset 786
- Timestamp:
- Oct 7, 2010, 3:04:40 PM (15 years ago)
- Location:
- trunk/src/gui
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gui/kernel/qapplication_pm.cpp
r785 r786 1084 1084 bool focus = SHORT1FROMMP(mp2); 1085 1085 if (!focus) { 1086 if (!QWidget::find(hwnd) && !QDragManager::self()-> object) {1086 if (!QWidget::find(hwnd) && !QDragManager::self()->isInOwnDrag()) { 1087 1087 // we gave up focus to another application, unset Qt 1088 // focus (exclude the situation when we start drag in1089 // which case the PM focus goes to the drag bitmap while1090 // the Qt focus should stay with our application)1088 // focus (exclude the situation when we've started the 1089 // drag in which case the PM focus goes to the drag 1090 // bitmap but the Qt focus should stay with us) 1091 1091 if (QApplication::activePopupWidget()) { 1092 1092 foreignFocusWnd = hwnd; -
trunk/src/gui/kernel/qdnd_p.h
r651 r786 267 267 QWidget *currentTarget(); 268 268 269 bool isInOwnDrag() const { return object != 0; } 270 269 271 #ifdef Q_WS_X11 270 272 QPixmap xdndMimeTransferedPixmap[2]; … … 287 289 #endif 288 290 #ifdef Q_OS_SYMBIAN 289 #ifndef QT_NO_CURSOR 291 #ifndef QT_NO_CURSOR 290 292 QCursor overrideCursor; 291 293 #endif -
trunk/src/gui/kernel/qwidget.cpp
r769 r786 11057 11057 return (HPS) d->hd; 11058 11058 #ifndef QT_NO_DRAGANDDROP 11059 if (QDragManager::self()->isInDrag()) 11059 if (QDragManager::self()->isInDrag() || 11060 QDragManager::self()->isInOwnDrag()) 11060 11061 return DrgGetPS(winId()); 11061 11062 #endif … … 11076 11077 if (d->hd == NULLHANDLE) { 11077 11078 #ifndef QT_NO_DRAGANDDROP 11078 if (QDragManager::self()->isInDrag()) 11079 if (QDragManager::self()->isInDrag() || 11080 QDragManager::self()->isInOwnDrag()) 11079 11081 DrgReleasePS(hps); 11080 11082 else -
trunk/src/gui/painting/qwindowsurface_pm.cpp
r775 r786 63 63 #include "qwindowsurface_pm_p.h" 64 64 #include "private/qnativeimage_p.h" 65 #include "private/qdnd_p.h" 65 66 66 67 //////////////////////////////////////////////////////////////////////////////// … … 566 567 br.translate(offset); 567 568 568 if (d->inDrag ) {569 if (d->inDrag || QDragManager::self()->isInOwnDrag()) { 569 570 // In drag, DIVE seems to not synchronize well with the mouse buffer 570 571 // that preserves the contents under the mouse pointer and the drag
Note:
See TracChangeset
for help on using the changeset viewer.