better user messages
Andreas Mohr
andi at rhlx01.fht-esslingen.de
Sun May 19 16:19:49 CDT 2002
Hi all,
- silence "Already loaded font" warning to WARN()
- mention binary *and* header package for FreeType install
- slightly different printer failure messages for better differentation
- add an intro warning to ttydrv. Too damn many people get bitten by
unknowingly using ttydrv instead of x11drv... (wineinstall problem etc.)
- greatly improved "library not found" message
- improve server permission error
- add WARN() about very bad programming style in case of FindWindow() invocation
--
Andreas Mohr Stauferstr. 6, D-71272 Renningen, Germany
-------------- next part --------------
Determining best CVS host...
Using CVSROOT :pserver:cvs at rhlx01.fht-esslingen.de:/home/wine
Index: dlls/gdi/freetype.c
===================================================================
RCS file: /home/wine/wine/dlls/gdi/freetype.c,v
retrieving revision 1.13
diff -u -r1.13 freetype.c
--- dlls/gdi/freetype.c 4 Apr 2002 15:30:29 -0000 1.13
+++ dlls/gdi/freetype.c 19 May 2002 21:14:36 -0000
@@ -242,7 +242,7 @@
for(insertface = &family->FirstFace; *insertface;
insertface = &(*insertface)->next) {
if(!strcmpW((*insertface)->StyleName, StyleW)) {
- ERR("Already loaded font %s %s\n", debugstr_w(family->FamilyName),
+ WARN("Already loaded font %s %s\n", debugstr_w(family->FamilyName),
debugstr_w(StyleW));
HeapFree(GetProcessHeap(), 0, StyleW);
pFT_Done_Face(ft_face);
@@ -452,9 +452,9 @@
ft_handle = wine_dlopen("libfreetype.so", RTLD_NOW, NULL, 0);
if(!ft_handle) {
WINE_MESSAGE(
- "Wine cannot find the FreeType font library. To enable Wine to\n"
- "use TrueType fonts please install a version of FreeType greater than\n"
- "or equal to 2.0.5.\n"
+ "Wine could not find the FreeType font library. To enable Wine to\n"
+ "use TrueType fonts please install a version of FreeType\n"
+ "(plus devel/header file package) greater than or equal to 2.0.5.\n"
"http://www.freetype.org\n");
return FALSE;
}
Index: dlls/wineps/truetype.c
===================================================================
RCS file: /home/wine/wine/dlls/wineps/truetype.c,v
retrieving revision 1.15
diff -u -r1.15 truetype.c
--- dlls/wineps/truetype.c 3 Apr 2002 20:02:39 -0000 1.15
+++ dlls/wineps/truetype.c 19 May 2002 21:14:37 -0000
@@ -593,9 +593,9 @@
ft_handle = wine_dlopen("libfreetype.so", RTLD_NOW, NULL, 0);
if(!ft_handle) {
WINE_MESSAGE(
- "Wine cannot find the FreeType font library. To enable Wine to\n"
- "use TrueType fonts please install a version of FreeType greater than\n"
- "or equal to 2.0.5.\n"
+ "Wine could not find the FreeType font library. To enable Wine to\n"
+ "use TrueType fonts please install a version of FreeType\n"
+ "(plus devel/header file package) greater than or equal to 2.0.5.\n"
"http://www.freetype.org\n");
return TRUE;
}
Index: dlls/winspool/info.c
===================================================================
RCS file: /home/wine/wine/dlls/winspool/info.c,v
retrieving revision 1.51
diff -u -r1.51 info.c
--- dlls/winspool/info.c 17 May 2002 00:10:15 -0000 1.51
+++ dlls/winspool/info.c 19 May 2002 21:14:38 -0000
@@ -160,7 +160,7 @@
if (!AddPrinterA(NULL,2,(LPBYTE)&pinfo2a)) {
if (GetLastError()!=ERROR_PRINTER_ALREADY_EXISTS)
- ERR("%s not added by AddPrinterA (%ld)\n",printers[i],GetLastError());
+ ERR("printer '%s' not added by AddPrinterA (error %ld)\n",printers[i],GetLastError());
}
HeapFree(GetProcessHeap(),0,port);
}
@@ -1060,7 +1060,7 @@
*/
size = DocumentPropertiesW(0, -1, pi->pPrinterName, NULL, NULL, 0);
if(size < 0) {
- FIXME("DocumentProperties fails\n");
+ FIXME("DocumentPropertiesW on printer '%s' fails\n", pi->pPrinterName);
size = sizeof(DEVMODEW);
}
if(pi->pDevMode)
@@ -1069,7 +1069,7 @@
dmW = HeapAlloc(GetProcessHeap(), 0, size);
dmW->dmSize = size;
if (0>DocumentPropertiesW(0,-1,pi->pPrinterName,dmW,NULL,DM_OUT_BUFFER)) {
- ERR("DocumentPropertiesW failed!\n");
+ ERR("DocumentPropertiesW on printer '%s' failed!\n", pi->pPrinterName);
SetLastError(ERROR_UNKNOWN_PRINTER_DRIVER);
return 0;
}
Index: dlls/ttydrv/ttydrv_main.c
===================================================================
RCS file: /home/wine/wine/dlls/ttydrv/ttydrv_main.c,v
retrieving revision 1.16
diff -u -r1.16 ttydrv_main.c
--- dlls/ttydrv/ttydrv_main.c 9 Mar 2002 23:44:30 -0000 1.16
+++ dlls/ttydrv/ttydrv_main.c 19 May 2002 21:14:38 -0000
@@ -80,6 +80,7 @@
{
case DLL_PROCESS_ATTACH:
process_attach();
+ MESSAGE("WARNING: ttydrv is a pretty experimental text mode driver. Most likely you want to configure wine to use x11drv instead...\n");
break;
case DLL_PROCESS_DETACH:
Index: dlls/user/msg16.c
===================================================================
RCS file: /home/wine/wine/dlls/user/msg16.c,v
retrieving revision 1.8
diff -u -r1.8 msg16.c
--- dlls/user/msg16.c 9 Mar 2002 23:44:30 -0000 1.8
+++ dlls/user/msg16.c 19 May 2002 21:14:38 -0000
@@ -102,7 +102,7 @@
case 0:
return PostMessageW( hwnd, msg32, wparam32, lparam );
case 1:
- ERR( "16-bit message %x contains pointer, cannot post\n", msg );
+ ERR( "16-bit message 0x%04x contains pointer, cannot post\n", msg );
return FALSE;
default:
return FALSE;
Index: loader/pe_image.c
===================================================================
RCS file: /home/wine/wine/loader/pe_image.c,v
retrieving revision 1.108
diff -u -r1.108 pe_image.c
--- loader/pe_image.c 2 Apr 2002 19:47:30 -0000 1.108
+++ loader/pe_image.c 19 May 2002 21:14:39 -0000
@@ -302,7 +302,7 @@
wmImp = MODULE_LoadLibraryExA( name, 0, 0 );
if (!wmImp) {
- ERR_(module)("Module (file) %s (which is needed by %s) not found\n", name, wm->filename);
+ ERR_(module)("ERROR: could not find or load DLL/library file %s(.so ?), which is needed by %s; fix your configuration or maybe fetch that file !\n", name, wm->filename);
return 1;
}
wm->deps[i++] = wmImp;
Index: server/request.c
===================================================================
RCS file: /home/wine/wine/server/request.c,v
retrieving revision 1.63
diff -u -r1.63 request.c
--- server/request.c 3 Apr 2002 22:51:18 -0000 1.63
+++ server/request.c 19 May 2002 21:14:39 -0000
@@ -522,7 +522,7 @@
if (stat( ".", &st ) == -1) fatal_perror( "stat %s", serverdir );
if (!S_ISDIR(st.st_mode)) fatal_error( "%s is not a directory\n", serverdir );
if (st.st_uid != getuid()) fatal_error( "%s is not owned by you\n", serverdir );
- if (st.st_mode & 077) fatal_error( "%s must not be accessible by other users\n", serverdir );
+ if (st.st_mode & 077) fatal_error( "%s must not be accessible by other users (see \"man chmod\")\n", serverdir );
}
/* open the master server socket and start waiting for new clients */
Index: windows/win.c
===================================================================
RCS file: /home/wine/wine/windows/win.c,v
retrieving revision 1.183
diff -u -r1.183 win.c
--- windows/win.c 17 May 2002 02:55:48 -0000 1.183
+++ windows/win.c 19 May 2002 21:14:40 -0000
@@ -1590,7 +1590,10 @@
*/
HWND WINAPI FindWindowA( LPCSTR className, LPCSTR title )
{
- HWND ret = FindWindowExA( 0, 0, className, title );
+ HWND ret;
+
+ WARN("app or wine makes use of FindWindow, which is bad programming since it can hang sometimes on Windows if a window is unresponsive. Use e.g. EnumerateWindows/SendMessageTimeout instead.\n");
+ ret = FindWindowExA( 0, 0, className, title );
if (!ret) SetLastError (ERROR_CANNOT_FIND_WND_CLASS);
return ret;
}
More information about the wine-patches
mailing list