X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b2832ef0c9320b872d62cbf8f308ff4998af1ed..8fc754bf2bc32de45d85a519e7706fa122d42731:/src/mac/carbon/dnd.cpp diff --git a/src/mac/carbon/dnd.cpp b/src/mac/carbon/dnd.cpp index 14da3edf45..d2b1702e91 100644 --- a/src/mac/carbon/dnd.cpp +++ b/src/mac/carbon/dnd.cpp @@ -9,11 +9,11 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "dnd.h" #endif -#include "wx/defs.h" +#include "wx/wxprec.h" #if wxUSE_DRAG_AND_DROP @@ -24,6 +24,10 @@ #include "wx/gdicmn.h" #include "wx/mac/private.h" +#ifndef __DARWIN__ + #include +#endif + // ---------------------------------------------------------------------------- // global // ---------------------------------------------------------------------------- @@ -325,7 +329,7 @@ wxDragResult wxDropSource::DoDragDrop(int WXUNUSED(flags)) OSErr err = noErr; CInfoPBRec cat; - wxMacFilename2FSSpec( dataPtr , &theFlavor.fileSpec ) ; + wxMacFilename2FSSpec( wxString( dataPtr , *wxConvCurrent ) , &theFlavor.fileSpec ) ; cat.hFileInfo.ioNamePtr = theFlavor.fileSpec.name; cat.hFileInfo.ioVRefNum = theFlavor.fileSpec.vRefNum; @@ -392,9 +396,7 @@ wxDragResult wxDropSource::DoDragDrop(int WXUNUSED(flags)) DisposeDrag(theDrag); gTrackingGlobals.m_currentSource = NULL ; - KeyMap keymap; - GetKeys(keymap); - bool optionDown = keymap[1] & 4; + bool optionDown = GetCurrentKeyModifiers() & optionKey ; wxDragResult dndresult = optionDown ? wxDragCopy : wxDragMove; return dndresult; } @@ -448,9 +450,7 @@ pascal OSErr wxMacWindowDragTrackingHandler(DragTrackingMessage theMessage, Wind GetDragAttributes(theDrag, &attributes); wxTopLevelWindowMac* toplevel = wxFindWinFromMacWindow( theWindow ) ; - KeyMap keymap; - GetKeys(keymap); - bool optionDown = keymap[1] & 4; + bool optionDown = GetCurrentKeyModifiers() & optionKey ; wxDragResult result = optionDown ? wxDragCopy : wxDragMove; switch(theMessage) @@ -475,10 +475,10 @@ pascal OSErr wxMacWindowDragTrackingHandler(DragTrackingMessage theMessage, Wind // if (attributes & kDragHasLeftSenderWindow) { - wxPoint point(localMouse.h , localMouse.v) ; +// wxPoint point(localMouse.h , localMouse.v) ; wxWindow *win = NULL ; ControlPartCode controlPart ; - ControlRef control = wxMacFindControlUnderMouse( localMouse , + ControlRef control = wxMacFindControlUnderMouse( toplevel , localMouse , theWindow , &controlPart ) ; if ( control ) win = wxFindControlFromMacControl( control ) ; @@ -615,9 +615,7 @@ pascal OSErr wxMacWindowDragReceiveHandler(WindowPtr theWindow, trackingGlobals->m_currentTargetWindow->MacRootWindowToWindow( &localx , &localy ) ; if ( trackingGlobals->m_currentTarget->OnDrop( localx , localy ) ) { - KeyMap keymap; - GetKeys(keymap); - bool optionDown = keymap[1] & 4; + bool optionDown = GetCurrentKeyModifiers() & optionKey ; wxDragResult result = optionDown ? wxDragCopy : wxDragMove; trackingGlobals->m_currentTarget->OnData( localx , localy , result ) ; }