You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Added patch to fix edge cases in TOOLTIPS_GetTipText.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
From f9894bb1a114f2e3d87b153815e37cedb3b6b31b Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Sun, 27 Jul 2014 09:12:15 -0600
|
||||
Subject: Fix TOOLTIPS_GetTipText when a resource cannot be found.
|
||||
|
||||
Based on patch by Nikolay Sivov.
|
||||
---
|
||||
dlls/comctl32/tooltips.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/comctl32/tooltips.c b/dlls/comctl32/tooltips.c
|
||||
index f74ea65..b44ccc5 100644
|
||||
--- a/dlls/comctl32/tooltips.c
|
||||
+++ b/dlls/comctl32/tooltips.c
|
||||
@@ -484,6 +484,8 @@ TOOLTIPS_GetTipText (const TOOLTIPS_INFO *infoPtr, INT nTool, WCHAR *buffer)
|
||||
{
|
||||
TTTOOL_INFO *toolPtr = &infoPtr->tools[nTool];
|
||||
|
||||
+ /* always NULL-terminate the buffer, just in case we fail to load the string */
|
||||
+ buffer[0] = '\0';
|
||||
if (IS_INTRESOURCE(toolPtr->lpszText) && toolPtr->hinst) {
|
||||
/* load a resource */
|
||||
TRACE("load res string %p %x\n",
|
||||
@@ -505,7 +507,6 @@ TOOLTIPS_GetTipText (const TOOLTIPS_INFO *infoPtr, INT nTool, WCHAR *buffer)
|
||||
}
|
||||
else {
|
||||
/* no text available */
|
||||
- buffer[0] = '\0';
|
||||
}
|
||||
|
||||
TRACE("%s\n", debugstr_w(buffer));
|
||||
--
|
||||
1.7.9.5
|
||||
|
@@ -0,0 +1,35 @@
|
||||
From 1491fbb70dc29e603a466f85311fc96ee95f0b5c Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Sun, 27 Jul 2014 09:12:50 -0600
|
||||
Subject: Fix TOOLTIPS_GetTipText when a NULL instance is used.
|
||||
|
||||
Based on patch by Nikolay Sivov.
|
||||
---
|
||||
dlls/comctl32/tooltips.c | 11 +++++------
|
||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/comctl32/tooltips.c b/dlls/comctl32/tooltips.c
|
||||
index b44ccc5..c3e28bb 100644
|
||||
--- a/dlls/comctl32/tooltips.c
|
||||
+++ b/dlls/comctl32/tooltips.c
|
||||
@@ -486,12 +486,11 @@ TOOLTIPS_GetTipText (const TOOLTIPS_INFO *infoPtr, INT nTool, WCHAR *buffer)
|
||||
|
||||
/* always NULL-terminate the buffer, just in case we fail to load the string */
|
||||
buffer[0] = '\0';
|
||||
- if (IS_INTRESOURCE(toolPtr->lpszText) && toolPtr->hinst) {
|
||||
- /* load a resource */
|
||||
- TRACE("load res string %p %x\n",
|
||||
- toolPtr->hinst, LOWORD(toolPtr->lpszText));
|
||||
- LoadStringW (toolPtr->hinst, LOWORD(toolPtr->lpszText),
|
||||
- buffer, INFOTIPSIZE);
|
||||
+ if (IS_INTRESOURCE(toolPtr->lpszText)) {
|
||||
+ HINSTANCE hinst = toolPtr->hinst ? toolPtr->hinst : GetModuleHandleW(NULL);
|
||||
+ /* load a resource */
|
||||
+ TRACE("load res string %p %x\n", hinst, LOWORD(toolPtr->lpszText));
|
||||
+ LoadStringW (hinst, LOWORD(toolPtr->lpszText), buffer, INFOTIPSIZE);
|
||||
}
|
||||
else if (toolPtr->lpszText) {
|
||||
if (toolPtr->lpszText == LPSTR_TEXTCALLBACKW) {
|
||||
--
|
||||
1.7.9.5
|
||||
|
4
patches/user32-GetTipText/definition
Normal file
4
patches/user32-GetTipText/definition
Normal file
@@ -0,0 +1,4 @@
|
||||
Author: Erich E. Hoover
|
||||
Subject: Handle TOOLTIPS_GetTipText edge cases.
|
||||
Revision: 1
|
||||
Fixes: [30648] Support for TOOLTIPS_GetTipText edge cases
|
Reference in New Issue
Block a user