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
Determining best CVS host... Using CVSROOT :pserver:cvs@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; }