Changeset 79482 in vbox for trunk/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp
- Timestamp:
- Jul 3, 2019 2:35:37 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 131746
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp
r76553 r79482 113 113 XEvent x11; 114 114 }; 115 #ifdef IN_GUEST 116 RTMEM_IMPLEMENT_NEW_AND_DELETE(); 117 #endif 115 118 }; 116 119 … … 275 278 276 279 private: 277 280 #ifdef RT_NEED_NEW_AND_DELETE 281 RTMEM_IMPLEMENT_NEW_AND_DELETE(); 282 #endif 278 283 xHelpers(Display *pDisplay) 279 284 : m_pDisplay(pDisplay) … … 430 435 431 436 public: 432 437 #ifdef RT_NEED_NEW_AND_DELETE 438 RTMEM_IMPLEMENT_NEW_AND_DELETE(); 439 #endif 433 440 VBoxDnDProxyWnd(void); 434 435 441 virtual ~VBoxDnDProxyWnd(void); 436 442 … … 453 459 }; 454 460 461 /** This class only serve to avoid dragging in generic new() and delete(). */ 462 class WrappedXEvent 463 { 464 public: 465 XEvent m_Event; 466 467 public: 468 #ifdef RT_NEED_NEW_AND_DELETE 469 RTMEM_IMPLEMENT_NEW_AND_DELETE(); 470 #endif 471 WrappedXEvent(const XEvent &a_rSrcEvent) 472 { 473 m_Event = a_rSrcEvent; 474 } 475 476 WrappedXEvent() 477 { 478 RT_ZERO(m_Event); 479 } 480 481 WrappedXEvent &operator=(const XEvent &a_rSrcEvent) 482 { 483 m_Event = a_rSrcEvent; 484 return *this; 485 } 486 }; 487 455 488 /** 456 489 * Class for handling a single drag and drop operation, that is, … … 480 513 }; 481 514 515 #ifdef RT_NEED_NEW_AND_DELETE 516 RTMEM_IMPLEMENT_NEW_AND_DELETE(); 517 #endif 482 518 DragInstance(Display *pDisplay, DragAndDropService *pParent); 483 519 … … 579 615 volatile uint32_t m_enmState; 580 616 /** The instance's own X event queue. */ 581 RTCMTList< XEvent>m_eventQueueList;617 RTCMTList<WrappedXEvent> m_eventQueueList; 582 618 /** Critical section for providing serialized access to list 583 619 * event queue's contents. */ … … 1484 1520 if (RT_SUCCESS(rc2)) 1485 1521 { 1486 XEvent e = m_eventQueueList.at(i) ;1522 XEvent e = m_eventQueueList.at(i).m_Event; 1487 1523 1488 1524 fFound = e.type == iType; … … 1542 1578 if (RT_SUCCESS(rc2)) 1543 1579 { 1544 XEvent e = m_eventQueueList.at(i) ;1580 XEvent e = m_eventQueueList.at(i).m_Event; 1545 1581 if ( e.type == ClientMessage 1546 1582 && e.xclient.message_type == aType)
Note:
See TracChangeset
for help on using the changeset viewer.