Alexander Nicolaysen Sørnes : regedit: Set the unicode flag for the treeview.

Alexandre Julliard julliard at winehq.org
Tue Sep 2 08:33:12 CDT 2008


Module: wine
Branch: master
Commit: c36fec1cd06eacd6f144681bef912a21aab1b362
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c36fec1cd06eacd6f144681bef912a21aab1b362

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Sun Aug 31 17:16:21 2008 +0200

regedit: Set the unicode flag for the treeview.

---

 programs/regedit/childwnd.c |   18 ++++++++----------
 programs/regedit/treeview.c |    1 +
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/programs/regedit/childwnd.c b/programs/regedit/childwnd.c
index 9e6e9e0..9879c95 100644
--- a/programs/regedit/childwnd.c
+++ b/programs/regedit/childwnd.c
@@ -350,11 +350,11 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
     case WM_NOTIFY:
         if (((int)wParam == TREE_WINDOW) && (g_pChildWnd != NULL)) {
             switch (((LPNMHDR)lParam)->code) {
-            case TVN_ITEMEXPANDING:
+            case TVN_ITEMEXPANDINGW:
                 return !OnTreeExpanding(g_pChildWnd->hTreeWnd, (NMTREEVIEW*)lParam);
-            case TVN_SELCHANGED:
+            case TVN_SELCHANGEDW:
                 OnTreeSelectionChanged(g_pChildWnd->hTreeWnd, g_pChildWnd->hListWnd,
-                    ((NMTREEVIEW *)lParam)->itemNew.hItem, TRUE);
+                    ((NMTREEVIEWW *)lParam)->itemNew.hItem, TRUE);
                 break;
 	    case NM_SETFOCUS:
 		g_pChildWnd->nFocusPanel = 0;
@@ -366,25 +366,23 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
 			       TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
 		break;
             }
-	    case TVN_ENDLABELEDIT: {
+	    case TVN_ENDLABELEDITW: {
 		HKEY hRootKey;
-	        LPNMTVDISPINFO dispInfo = (LPNMTVDISPINFO)lParam;
-                WCHAR* itemText = GetWideString(dispInfo->item.pszText);
+	        LPNMTVDISPINFOW dispInfo = (LPNMTVDISPINFOW)lParam;
 		LPWSTR path = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
-	        BOOL res = RenameKey(hWnd, hRootKey, path, itemText);
+	        BOOL res = RenameKey(hWnd, hRootKey, path, dispInfo->item.pszText);
 		if (res) {
 		    TVITEMEXW item;
                     LPWSTR fullPath = GetPathFullPath(g_pChildWnd->hTreeWnd,
-                     itemText);
+                     dispInfo->item.pszText);
 		    item.mask = TVIF_HANDLE | TVIF_TEXT;
 		    item.hItem = TreeView_GetSelection(g_pChildWnd->hTreeWnd);
-		    item.pszText = itemText;
+		    item.pszText = dispInfo->item.pszText;
                     SendMessageW( g_pChildWnd->hTreeWnd, TVM_SETITEMW, 0, (LPARAM)&item );
                     SendMessageW(hStatusBar, SB_SETTEXTW, 0, (LPARAM)fullPath);
                     HeapFree(GetProcessHeap(), 0, fullPath);
 		}
                 HeapFree(GetProcessHeap(), 0, path);
-                HeapFree(GetProcessHeap(), 0, itemText);
 		return res;
 	    }
             default:
diff --git a/programs/regedit/treeview.c b/programs/regedit/treeview.c
index 6e4131c..d028b4a 100644
--- a/programs/regedit/treeview.c
+++ b/programs/regedit/treeview.c
@@ -670,6 +670,7 @@ HWND CreateTreeView(HWND hwndParent, LPWSTR pHostName, UINT id)
                             WS_VISIBLE | WS_CHILD | WS_TABSTOP | TVS_HASLINES | TVS_HASBUTTONS | TVS_LINESATROOT,
                             0, 0, rcClient.right, rcClient.bottom,
                             hwndParent, (HMENU)ULongToHandle(id), hInst, NULL);
+    SendMessageW(hwndTV, TVM_SETUNICODEFORMAT, TRUE, 0);
     /* Initialize the image list, and add items to the control.  */
     if (!InitTreeViewImageLists(hwndTV) || !InitTreeViewItems(hwndTV, pHostName)) {
         DestroyWindow(hwndTV);




More information about the wine-cvs mailing list