]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/treectrl.cpp
fixed incorrect GetTextExtent for wxTELETYPE font
[wxWidgets.git] / src / msw / treectrl.cpp
index 84ec966ceaabf2a26368268c011a037a96367c38..d4995dd32fc3623d8578055d97084402b680ab9e 100644 (file)
@@ -951,6 +951,12 @@ wxTreeItemData *wxTreeCtrl::GetItemData(const wxTreeItemId& item) const
 
 void wxTreeCtrl::SetItemData(const wxTreeItemId& item, wxTreeItemData *data)
 {
 
 void wxTreeCtrl::SetItemData(const wxTreeItemId& item, wxTreeItemData *data)
 {
+    // first, associate this piece of data with this item
+    if ( data )
+    {
+        data->SetId(item);
+    }
+
     wxTreeViewItem tvItem(item, TVIF_PARAM);
 
     if ( HasIndirectData(item) )
     wxTreeViewItem tvItem(item, TVIF_PARAM);
 
     if ( HasIndirectData(item) )
@@ -2298,8 +2304,12 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
             break;
 
         case TVN_ENDLABELEDIT:
             break;
 
         case TVN_ENDLABELEDIT:
-            // return TRUE to set the label to the new string
+            // return TRUE to set the label to the new string: note that we
+            // also must pretend that we did process the message or it is going
+            // to be passed to DefWindowProc() which will happily return FALSE
+            // cancelling the label change
             *result = event.IsAllowed();
             *result = event.IsAllowed();
+            processed = TRUE;
 
             // ensure that we don't have the text ctrl which is going to be
             // deleted any more
 
             // ensure that we don't have the text ctrl which is going to be
             // deleted any more