]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix for assert after left click on tree in generic dir dialog in native MSW build...
authorWłodzimierz Skiba <abx@abx.art.pl>
Tue, 23 Nov 2004 19:58:47 +0000 (19:58 +0000)
committerWłodzimierz Skiba <abx@abx.art.pl>
Tue, 23 Nov 2004 19:58:47 +0000 (19:58 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/dirctrlg.cpp
src/generic/dirdlgg.cpp
src/msw/treectrl.cpp

index 2a1e1137e0ae67f60c2820c786e23576f81b6040..7f95513ed7efa3f366d5b8db12c575a3076d5aa1 100644 (file)
@@ -201,18 +201,18 @@ size_t wxGetAvailableDrives(wxArrayString &paths, wxArrayString &names, wxArrayI
 
     ItemCount volumeIndex = 1;
     OSErr err = noErr ;
-    
+
     while( noErr == err )
     {
         HFSUniStr255 volumeName ;
         FSRef fsRef ;
         FSVolumeInfo volumeInfo ;
-               err = FSGetVolumeInfo(0, volumeIndex, NULL, kFSVolInfoFlags , &volumeInfo , &volumeName, &fsRef);
-               if( noErr == err )
-               {
-                   wxString path = wxMacFSRefToPath( &fsRef ) ;
+        err = FSGetVolumeInfo(0, volumeIndex, NULL, kFSVolInfoFlags , &volumeInfo , &volumeName, &fsRef);
+        if( noErr == err )
+        {
+            wxString path = wxMacFSRefToPath( &fsRef ) ;
             wxString name = wxMacHFSUniStrToString( &volumeName ) ;
-            
+
             if ( (volumeInfo.flags & kFSVolFlagSoftwareLockedMask) || (volumeInfo.flags & kFSVolFlagHardwareLockedMask) )
             {
                 icon_ids.Add(wxFileIconsTable::cdrom);
@@ -222,11 +222,11 @@ size_t wxGetAvailableDrives(wxArrayString &paths, wxArrayString &names, wxArrayI
                 icon_ids.Add(wxFileIconsTable::drive);
             }
             // todo other removable
-            
+
             paths.Add(path);
             names.Add(name);
             volumeIndex++ ;
-               }
+        }
     }
 
 #elif defined(__UNIX__)
@@ -383,7 +383,7 @@ void wxDirItemData::SetNewDirName(const wxString& path)
 
 bool wxDirItemData::HasSubDirs() const
 {
-    if (m_path.IsEmpty())
+    if (m_path.empty())
         return false;
 
     wxDir dir;
@@ -398,7 +398,7 @@ bool wxDirItemData::HasSubDirs() const
 
 bool wxDirItemData::HasFiles(const wxString& WXUNUSED(spec)) const
 {
-    if (m_path.IsEmpty())
+    if (m_path.empty())
         return false;
 
     wxDir dir;
@@ -522,7 +522,7 @@ bool wxGenericDirCtrl::Create(wxWindow *parent,
     m_treeCtrl = CreateTreeCtrl(this, wxID_TREECTRL,
                                 wxPoint(0,0), GetClientSize(), treeStyle);
 
-    if (!filter.IsEmpty() && (style & wxDIRCTRL_SHOW_FILTERS))
+    if (!filter.empty() && (style & wxDIRCTRL_SHOW_FILTERS))
         m_filterListCtrl = new wxDirFilterListCtrl(this, wxID_FILTERLISTCTRL, wxDefaultPosition, wxDefaultSize, filterStyle);
 
     m_defaultPath = dir;
@@ -642,7 +642,7 @@ void wxGenericDirCtrl::OnBeginEditItem(wxTreeEvent &event)
 
 void wxGenericDirCtrl::OnEndEditItem(wxTreeEvent &event)
 {
-    if ((event.GetLabel().IsEmpty()) ||
+    if ((event.GetLabel().empty()) ||
         (event.GetLabel() == _(".")) ||
         (event.GetLabel() == _("..")) ||
         (event.GetLabel().Find(wxT('/')) != wxNOT_FOUND) ||
@@ -905,7 +905,7 @@ wxTreeItemId wxGenericDirCtrl::FindChild(wxTreeItemId parentId, const wxString&
     {
         wxDirItemData* data = (wxDirItemData*) m_treeCtrl->GetItemData(childId);
 
-        if (data && !data->m_path.IsEmpty())
+        if (data && !data->m_path.empty())
         {
             wxString childPath(data->m_path);
             if (!wxEndsWithPathSeparator(childPath))
@@ -1625,13 +1625,13 @@ int wxFileIconsTable::GetIconID(const wxString& extension, const wxString& mime)
         Create();
 
 #if wxUSE_MIMETYPE
-    if (!extension.IsEmpty())
+    if (!extension.empty())
     {
         wxFileIconEntry *entry = (wxFileIconEntry*) m_HashTable->Get(extension);
         if (entry) return (entry -> id);
     }
 
-    wxFileType *ft = (mime.IsEmpty()) ?
+    wxFileType *ft = (mime.empty()) ?
                    wxTheMimeTypesManager -> GetFileTypeFromExtension(extension) :
                    wxTheMimeTypesManager -> GetFileTypeFromMimeType(mime);
 
index 0994cded6f2fee78f100cad7bf06bade558a1ee3..a07fbd497e786483b84db914555cbd552cf51275 100644 (file)
@@ -278,7 +278,13 @@ void wxGenericDirDialog::OnTreeSelected( wxTreeEvent &event )
     if (!m_dirCtrl)
         return;
 
-    wxDirItemData *data = (wxDirItemData*)m_dirCtrl->GetTreeCtrl()->GetItemData(event.GetItem());
+    wxTreeItemId item = event.GetItem();
+
+    wxDirItemData *data = NULL;
+
+    if(item.IsOk())
+        data = (wxDirItemData*)m_dirCtrl->GetTreeCtrl()->GetItemData(item);
+
     if (data)
        m_input->SetValue( data->m_path );
 };
index 2a5aed590517b3294f2d7340eb068d1d2445e61f..b7329c5289178ace09ea60d6e6d3b0dc8790acda 100644 (file)
@@ -1497,8 +1497,14 @@ wxTreeItemId wxTreeCtrl::GetFirstChild(const wxTreeItemId& item,
 wxTreeItemId wxTreeCtrl::GetNextChild(const wxTreeItemId& WXUNUSED(item),
                                       wxTreeItemIdValue& cookie) const
 {
-    wxTreeItemId item(TreeView_GetNextSibling(GetHwnd(),
-                                              HITEM(wxTreeItemId(cookie))));
+    wxTreeItemId fromCookie(cookie);
+
+    HTREEITEM hitem = HITEM(fromCookie);
+
+    hitem = TreeView_GetNextSibling(GetHwnd(), hitem);
+
+    wxTreeItemId item(hitem);
+
     cookie = item.m_pItem;
 
     return item;
@@ -1519,11 +1525,14 @@ wxTreeItemId wxTreeCtrl::GetFirstChild(const wxTreeItemId& item,
 wxTreeItemId wxTreeCtrl::GetNextChild(const wxTreeItemId& WXUNUSED(item),
                                       long& cookie) const
 {
-    wxTreeItemId item(TreeView_GetNextSibling
-                      (
-                        GetHwnd(),
-                        HITEM(wxTreeItemId((void *)cookie)
-                      )));
+    wxTreeItemId fromCookie((void *)cookie);
+
+    HTREEITEM hitem = HITEM(fromCookie);
+
+    hitem = TreeView_GetNextSibling(GetHwnd(), hitem);
+
+    wxTreeItemId item(hitem);
+
     cookie = (long)item.m_pItem;
 
     return item;
@@ -1646,7 +1655,7 @@ wxTreeItemId wxTreeCtrl::DoInsertItem(const wxTreeItemId& parent,
     }
 
     UINT mask = 0;
-    if ( !text.IsEmpty() )
+    if ( !text.empty() )
     {
         mask |= TVIF_TEXT;
         tvIns.item.pszText = (wxChar *)text.c_str();  // cast is ok