From 6f982a501a52b0f69f88056a69146d4dc127a413 Mon Sep 17 00:00:00 2001 From: jerry Date: Fri, 13 Sep 2013 15:44:33 +0000 Subject: [PATCH] fixed dragged name out of date. --- src/lib/platform/CMSWindowsScreen.cpp | 22 +++++++++++++++------- src/lib/platform/CMSWindowsScreen.h | 1 + src/lib/platform/COSXScreen.cpp | 2 +- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/lib/platform/CMSWindowsScreen.cpp b/src/lib/platform/CMSWindowsScreen.cpp index 03b0f9d57..77da3731d 100644 --- a/src/lib/platform/CMSWindowsScreen.cpp +++ b/src/lib/platform/CMSWindowsScreen.cpp @@ -1275,7 +1275,7 @@ CMSWindowsScreen::onMouseButton(WPARAM wParam, LPARAM lParam) m_buttons[button] = true; if (button == kButtonLeft) { m_draggingFileDir.clear(); - LOG((CLOG_DEBUG "dragging file directory is cleared")); + LOG((CLOG_DEBUG2 "dragging file directory is cleared")); } } else { @@ -1345,12 +1345,6 @@ CMSWindowsScreen::onMouseMove(SInt32 mx, SInt32 my) CMotionInfo::alloc(m_xCursor, m_yCursor)); if (m_buttons[kButtonLeft] == true && m_draggingStarted == false) { - // temporarily log out dragging file directory - char dir[MAX_PATH]; - m_hookLibraryLoader.m_getDraggingFileDir(dir); - m_draggingFileDir.append(dir); - LOG((CLOG_DEBUG "dragging file directory: %s", m_draggingFileDir.c_str())); - m_draggingStarted = true; } } @@ -1841,3 +1835,17 @@ CMSWindowsScreen::fakeDraggingFiles(CString str) { } + +CString& +CMSWindowsScreen::getDraggingFileDir() +{ + if (m_draggingStarted) { + // temporarily log out dragging file directory + char dir[MAX_PATH]; + m_hookLibraryLoader.m_getDraggingFileDir(dir); + m_draggingFileDir.clear(); + m_draggingFileDir.append(dir); + } + + return m_draggingFileDir; +} diff --git a/src/lib/platform/CMSWindowsScreen.h b/src/lib/platform/CMSWindowsScreen.h index 80f3fcdce..12c1e5d6f 100644 --- a/src/lib/platform/CMSWindowsScreen.h +++ b/src/lib/platform/CMSWindowsScreen.h @@ -116,6 +116,7 @@ public: virtual void setSequenceNumber(UInt32); virtual bool isPrimary() const; virtual void fakeDraggingFiles(CString str); + virtual CString& getDraggingFileDir(); protected: // IPlatformScreen overrides diff --git a/src/lib/platform/COSXScreen.cpp b/src/lib/platform/COSXScreen.cpp index a1d4ea9e2..194c34631 100644 --- a/src/lib/platform/COSXScreen.cpp +++ b/src/lib/platform/COSXScreen.cpp @@ -912,7 +912,7 @@ COSXScreen::leave() if (!m_isPrimary) { // fake ctrl key up fakeKeyUp(29); - // fake esc key down and up + // fake esc key down and up fakeKeyDown(kKeyEscape, 8192, 1); fakeKeyUp(1); CFStringRef dragInfo = getDraggedFileURL();