[PATCH] comctl32: Always free the tooltip text before setting it (Valgrind).

Sven Baars sven.wine at gmail.com
Sat May 18 11:49:51 CDT 2019


Signed-off-by: Sven Baars <sven.wine at gmail.com>
---
 dlls/comctl32/tooltips.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/dlls/comctl32/tooltips.c b/dlls/comctl32/tooltips.c
index 1aa55d12e3..b1e8f5147a 100644
--- a/dlls/comctl32/tooltips.c
+++ b/dlls/comctl32/tooltips.c
@@ -1660,6 +1660,13 @@ TOOLTIPS_SetToolInfoT (TOOLTIPS_INFO *infoPtr, const TTTOOLINFOW *ti, BOOL isW)
     toolPtr->rect   = ti->rect;
     toolPtr->hinst  = ti->hinst;
 
+    if ( (toolPtr->lpszText) &&
+         !IS_INTRESOURCE(toolPtr->lpszText) ) {
+        if( toolPtr->lpszText != LPSTR_TEXTCALLBACKW)
+            Free (toolPtr->lpszText);
+        toolPtr->lpszText = NULL;
+    }
+
     if (IS_INTRESOURCE(ti->lpszText)) {
 	TRACE("set string id %x\n", LOWORD(ti->lpszText));
 	toolPtr->lpszText = ti->lpszText;
@@ -1668,12 +1675,6 @@ TOOLTIPS_SetToolInfoT (TOOLTIPS_INFO *infoPtr, const TTTOOLINFOW *ti, BOOL isW)
 	if (ti->lpszText == LPSTR_TEXTCALLBACKW)
 	    toolPtr->lpszText = LPSTR_TEXTCALLBACKW;
 	else {
-	    if ( (toolPtr->lpszText) &&
-		 !IS_INTRESOURCE(toolPtr->lpszText) ) {
-		if( toolPtr->lpszText != LPSTR_TEXTCALLBACKW)
-                    Free (toolPtr->lpszText);
-		toolPtr->lpszText = NULL;
-	    }
 	    if (ti->lpszText) {
 		if (isW) {
 		    INT len = lstrlenW (ti->lpszText);
-- 
2.17.1




More information about the wine-devel mailing list