From b18e2046af6c8eaf6e867ba18dd9410dbd7dfcf7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 16 Apr 2009 13:00:40 +0000 Subject: [PATCH] pass wxIntPtr, not wxUIntPtr, to wxListCtrl::SortItems() callback as it's more compatible with the existing code assuming that this parameter is signed (as our own wxFileCtrl did) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 2 +- include/wx/generic/listctrl.h | 2 +- include/wx/generic/private/listctrl.h | 2 +- include/wx/listbase.h | 2 +- include/wx/msw/listctrl.h | 2 +- include/wx/osx/listctrl.h | 6 +++--- interface/wx/listctrl.h | 4 ++-- samples/listctrl/listtest.cpp | 2 +- src/generic/filectrlg.cpp | 8 ++++---- src/generic/listctrl.cpp | 6 +++--- src/msw/listctrl.cpp | 4 ++-- src/osx/carbon/listctrl_mac.cpp | 2 +- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index c25f3149a5..0a8aa80c38 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -227,7 +227,7 @@ Changes in behaviour which may result in compilation errors be vetoed any more, use the new wxEVT_GRID_CELL_CHANGING event to do it. - wxListCtrlCompare function used with wxListCtrl::SortItems() must now declare - its third parameter as wxUIntPtr and not long (this allows passing pointers + its third parameter as wxIntPtr and not long (this allows passing pointers to it under 64 bit platforms too). - Global wxPendingEvents and wxPendingEventsLocker objects were removed. diff --git a/include/wx/generic/listctrl.h b/include/wx/generic/listctrl.h index 3f0c175cb5..9fdc58788d 100644 --- a/include/wx/generic/listctrl.h +++ b/include/wx/generic/listctrl.h @@ -138,7 +138,7 @@ public: long InsertColumn( long col, const wxString& heading, int format = wxLIST_FORMAT_LEFT, int width = -1 ); bool ScrollList( int dx, int dy ); - bool SortItems( wxListCtrlCompare fn, wxUIntPtr data ); + bool SortItems( wxListCtrlCompare fn, wxIntPtr data ); bool Update( long item ); // Must provide overload to avoid hiding it (and warnings about it) virtual void Update() { wxControl::Update(); } diff --git a/include/wx/generic/private/listctrl.h b/include/wx/generic/private/listctrl.h index 5ec6272b82..35125d78d1 100644 --- a/include/wx/generic/private/listctrl.h +++ b/include/wx/generic/private/listctrl.h @@ -610,7 +610,7 @@ public: void InsertItem( wxListItem &item ); void InsertColumn( long col, wxListItem &item ); int GetItemWidthWithImage(wxListItem * item); - void SortItems( wxListCtrlCompare fn, wxUIntPtr data ); + void SortItems( wxListCtrlCompare fn, wxIntPtr data ); size_t GetItemCount() const; bool IsEmpty() const { return GetItemCount() == 0; } diff --git a/include/wx/listbase.h b/include/wx/listbase.h index 15221d940a..ef32584e18 100644 --- a/include/wx/listbase.h +++ b/include/wx/listbase.h @@ -23,7 +23,7 @@ // type of compare function for wxListCtrl sort operation typedef -int (wxCALLBACK *wxListCtrlCompare)(long item1, long item2, wxUIntPtr sortData); +int (wxCALLBACK *wxListCtrlCompare)(long item1, long item2, wxIntPtr sortData); // ---------------------------------------------------------------------------- // wxListCtrl constants diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index fa74009fc9..c4b9b5cb6d 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -353,7 +353,7 @@ public: // or zero if the two items are equivalent. // data is arbitrary data to be passed to the sort function. - bool SortItems(wxListCtrlCompare fn, wxUIntPtr data); + bool SortItems(wxListCtrlCompare fn, wxIntPtr data); // IMPLEMENTATION virtual bool MSWCommand(WXUINT param, WXWORD id); diff --git a/include/wx/osx/listctrl.h b/include/wx/osx/listctrl.h index 7c3b67cbdf..88520f0376 100644 --- a/include/wx/osx/listctrl.h +++ b/include/wx/osx/listctrl.h @@ -281,7 +281,7 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl // or zero if the two items are equivalent. // data is arbitrary data to be passed to the sort function. - bool SortItems(wxListCtrlCompare fn, wxUIntPtr data); + bool SortItems(wxListCtrlCompare fn, wxIntPtr data); wxMacDataBrowserListCtrlControl* GetListPeer() const; @@ -317,7 +317,7 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl void Command(wxCommandEvent& event) { ProcessCommand(event); }; wxListCtrlCompare GetCompareFunc() { return m_compareFunc; }; - wxUIntPtr GetCompareFuncData() { return m_compareFuncData; }; + wxIntPtr GetCompareFuncData() { return m_compareFuncData; }; // public overrides needed for pimpl approach @@ -391,7 +391,7 @@ protected: void* m_macListCtrlEventHandler; void* m_cgContext; wxListCtrlCompare m_compareFunc; - wxUIntPtr m_compareFuncData; + wxIntPtr m_compareFuncData; wxTextCtrl* m_textCtrl; // The control used for editing a label wxImageList * m_imageListNormal; // The image list for normal icons diff --git a/interface/wx/listctrl.h b/interface/wx/listctrl.h index 2ba301aeec..d194d8ad61 100644 --- a/interface/wx/listctrl.h +++ b/interface/wx/listctrl.h @@ -842,7 +842,7 @@ public: using the specified @a fnSortCallBack function. This function must have the following prototype: @code - int wxCALLBACK wxListCompareFunction(long item1, long item2, wxUIntPtr sortData) + int wxCALLBACK wxListCompareFunction(long item1, long item2, wxIntPtr sortData) @endcode It is called each time when the two items must be compared and should return 0 @@ -860,7 +860,7 @@ public: Please see the @ref page_samples_listctrl for an example of using this function. */ - bool SortItems(wxListCtrlCompare fnSortCallBack, wxUIntPtr data); + bool SortItems(wxListCtrlCompare fnSortCallBack, wxIntPtr data); protected: diff --git a/samples/listctrl/listtest.cpp b/samples/listctrl/listtest.cpp index 45d84e0596..33dc23898d 100644 --- a/samples/listctrl/listtest.cpp +++ b/samples/listctrl/listtest.cpp @@ -72,7 +72,7 @@ static const int NUM_ITEMS = 10; static const int NUM_ICONS = 9; int wxCALLBACK -MyCompareFunction(long item1, long item2, wxUIntPtr WXUNUSED(sortData)) +MyCompareFunction(long item1, long item2, wxIntPtr WXUNUSED(sortData)) { // inverse the order if (item1 < item2) diff --git a/src/generic/filectrlg.cpp b/src/generic/filectrlg.cpp index 1de3b1ad83..4e3730f466 100644 --- a/src/generic/filectrlg.cpp +++ b/src/generic/filectrlg.cpp @@ -52,7 +52,7 @@ // ---------------------------------------------------------------------------- static -int wxCALLBACK wxFileDataNameCompare( long data1, long data2, wxUIntPtr sortOrder) +int wxCALLBACK wxFileDataNameCompare( long data1, long data2, wxIntPtr sortOrder) { wxFileData *fd1 = (wxFileData *)wxUIntToPtr(data1); wxFileData *fd2 = (wxFileData *)wxUIntToPtr(data2); @@ -70,7 +70,7 @@ int wxCALLBACK wxFileDataNameCompare( long data1, long data2, wxUIntPtr sortOrde } static -int wxCALLBACK wxFileDataSizeCompare(long data1, long data2, wxUIntPtr sortOrder) +int wxCALLBACK wxFileDataSizeCompare(long data1, long data2, wxIntPtr sortOrder) { wxFileData *fd1 = (wxFileData *)wxUIntToPtr(data1); wxFileData *fd2 = (wxFileData *)wxUIntToPtr(data2); @@ -92,7 +92,7 @@ int wxCALLBACK wxFileDataSizeCompare(long data1, long data2, wxUIntPtr sortOrder } static -int wxCALLBACK wxFileDataTypeCompare(long data1, long data2, wxUIntPtr sortOrder) +int wxCALLBACK wxFileDataTypeCompare(long data1, long data2, wxIntPtr sortOrder) { wxFileData *fd1 = (wxFileData *)wxUIntToPtr(data1); wxFileData *fd2 = (wxFileData *)wxUIntToPtr(data2); @@ -114,7 +114,7 @@ int wxCALLBACK wxFileDataTypeCompare(long data1, long data2, wxUIntPtr sortOrder } static -int wxCALLBACK wxFileDataTimeCompare(long data1, long data2, wxUIntPtr sortOrder) +int wxCALLBACK wxFileDataTimeCompare(long data1, long data2, wxIntPtr sortOrder) { wxFileData *fd1 = (wxFileData *)wxUIntToPtr(data1); wxFileData *fd2 = (wxFileData *)wxUIntToPtr(data2); diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 5ca7580a98..5f7adb2fd1 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -4152,7 +4152,7 @@ int wxListMainWindow::GetItemWidthWithImage(wxListItem * item) // ---------------------------------------------------------------------------- static wxListCtrlCompare list_ctrl_compare_func_2; -static wxUIntPtr list_ctrl_compare_data; +static wxIntPtr list_ctrl_compare_data; int LINKAGEMODE list_ctrl_compare_func_1( wxListLineData **arg1, wxListLineData **arg2 ) { @@ -4166,7 +4166,7 @@ int LINKAGEMODE list_ctrl_compare_func_1( wxListLineData **arg1, wxListLineData return list_ctrl_compare_func_2( data1, data2, list_ctrl_compare_data ); } -void wxListMainWindow::SortItems( wxListCtrlCompare fn, wxUIntPtr data ) +void wxListMainWindow::SortItems( wxListCtrlCompare fn, wxIntPtr data ) { // selections won't make sense any more after sorting the items so reset // them @@ -4918,7 +4918,7 @@ bool wxGenericListCtrl::ScrollList( int dx, int dy ) // or zero if the two items are equivalent. // data is arbitrary data to be passed to the sort function. -bool wxGenericListCtrl::SortItems( wxListCtrlCompare fn, wxUIntPtr data ) +bool wxGenericListCtrl::SortItems( wxListCtrlCompare fn, wxIntPtr data ) { m_mainWin->SortItems( fn, data ); return true; diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index 31b1ef7054..baf52465ad 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -1865,7 +1865,7 @@ bool wxListCtrl::ScrollList(int dx, int dy) struct wxInternalDataSort { wxListCtrlCompare user_fn; - wxUIntPtr data; + wxIntPtr data; }; int CALLBACK wxInternalDataCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) @@ -1882,7 +1882,7 @@ int CALLBACK wxInternalDataCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM l } -bool wxListCtrl::SortItems(wxListCtrlCompare fn, wxUIntPtr data) +bool wxListCtrl::SortItems(wxListCtrlCompare fn, wxIntPtr data) { wxInternalDataSort internalData; internalData.user_fn = fn; diff --git a/src/osx/carbon/listctrl_mac.cpp b/src/osx/carbon/listctrl_mac.cpp index 7002c7abae..d2e4faf977 100644 --- a/src/osx/carbon/listctrl_mac.cpp +++ b/src/osx/carbon/listctrl_mac.cpp @@ -2205,7 +2205,7 @@ bool wxListCtrl::ScrollList(int dx, int dy) } -bool wxListCtrl::SortItems(wxListCtrlCompare fn, wxUIntPtr data) +bool wxListCtrl::SortItems(wxListCtrlCompare fn, wxIntPtr data) { if (m_genericImpl) return m_genericImpl->SortItems(fn, data); -- 2.47.2