From a1ac47b927d3d7719a57b3759b8e5dcb7c6ec543 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 15 Mar 2007 00:21:59 +0000 Subject: [PATCH] fix GetSize() for large files (patch 1680876) [backport from HEAD] git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@44813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 19 +++++++++++++++++++ src/common/filename.cpp | 9 +++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 9e3d090e2c..f248657aec 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -95,10 +95,17 @@ wxMac - Corrected top border size for wxStaticBox with empty label (nusi) +wxMSW: + +- Fixed wxFileName::GetSize() for large files + + 2.8.2 ----- All: +<<<<<<< changes.txt +======= - Added wxSizerFlags::Shaped(), FixedMinSize(), Top() and Bottom() methods. - Added wxCSConv::IsOk() (Manuel Martin). @@ -118,9 +125,21 @@ All: - Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk) Unix Ports: +>>>>>>> 1.1006.2.13 +<<<<<<< changes.txt +- Added wxSizerFlags::Shaped(), FixedMinSize(), Top() and Bottom() methods +- Added wxCSConv::IsOk() (Manuel Martin) +- Added wxDateTime::GetDateOnly() +- Made wxTextFile work with unseekable files again (David Hart) +- Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta) +- Added wxSearchCtrl::[Get|Set]DescriptiveText +- Added wxToolBar::SetTool[Normal|Disabled]Bitmap for wxMSW, wxGTK and wxMac + +======= - Fixed crash in wxGetUserName() in Unicode build +>>>>>>> 1.1006.2.13 wxMSW - Fix lack of spin control update event when control lost focus. diff --git a/src/common/filename.cpp b/src/common/filename.cpp index e8c8fda943..058de3ffd2 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -2328,14 +2328,11 @@ wxULongLong wxFileName::GetSize(const wxString &filename) DWORD lpFileSizeHigh; DWORD ret = GetFileSize(f, &lpFileSizeHigh); - if (ret == INVALID_FILE_SIZE) + if ( ret == INVALID_FILE_SIZE && ::GetLastError() != NO_ERROR ) return wxInvalidSize; - // compose the low-order and high-order byte sizes - return wxULongLong(ret | (lpFileSizeHigh << sizeof(WORD)*2)); - -#else // ! __WIN32__ - + return wxULongLong(lpFileSizeHigh, ret); +#else // ! __WIN32__ wxStructStat st; #ifndef wxNEED_WX_UNISTD_H if (wxStat( filename.fn_str() , &st) != 0)