[PATCH 3/5] shell32/dde: return empty list insted of NULL

Oleksij Rempel bug-track at fisher-privat.net
Tue May 29 16:10:07 CDT 2012


this patch prevents installer of EG from crashing.

Fixes-Bug: http://bugs.winehq.org/show_bug.cgi?id=30737

Signed-off-by: Oleksij Rempel <bug-track at fisher-privat.net>
---
 dlls/shell32/dde.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/dlls/shell32/dde.c b/dlls/shell32/dde.c
index 2e04bd7..144470b 100644
--- a/dlls/shell32/dde.c
+++ b/dlls/shell32/dde.c
@@ -82,6 +82,14 @@ static inline HDDEDATA Dde_OnRequest(UINT uFmt, HCONV hconv, HSZ hszTopic,
         FIXME( "returning fake program groups list\n" );
         return DdeCreateDataHandle( dwDDEInst, groups_data, sizeof(groups_data), 0, hszGroups, uFmt, 0 );
     }
+    else if (hszTopic == hszProgmanTopic && hszItem == hszProgmanService && uFmt == CF_TEXT)
+    {
+        static BYTE groups_data[] = "\r\n";
+        FIXME( "returning empty groups list\n" );
+	/* this is an workaround for an app wich expect some data
+	 * and cant handle NULL. */
+        return DdeCreateDataHandle( dwDDEInst, groups_data, sizeof(groups_data), 0, hszProgmanService, uFmt, 0 );
+    }
     FIXME( "%u %p %s %s: stub\n", uFmt, hconv, debugstr_hsz(hszTopic), debugstr_hsz(hszItem) );
     return NULL;
 }
-- 
1.7.9.5




More information about the wine-patches mailing list