Hello all, yet another one... - update Xpm info, document need for winedefault.reg - add explicit launch message for winedos - update wrc docu - more verbose wine crash message - misc. fixes -- Andreas Mohr Stauferstr. 6, D-71272 Renningen, Germany
Determining best CVS host... Using CVSROOT :pserver:cvs@rhlx01.fht-esslingen.de:/home/wine Index: DEVELOPERS-HINTS =================================================================== RCS file: /home/wine/wine/DEVELOPERS-HINTS,v retrieving revision 1.10 diff -u -r1.10 DEVELOPERS-HINTS --- DEVELOPERS-HINTS 19 Sep 2001 22:34:38 -0000 1.10 +++ DEVELOPERS-HINTS 23 Dec 2001 13:07:07 -0000 @@ -23,6 +23,7 @@ GDI: + console/ - handling of text consoles graphics/ - graphics drivers x11drv/ - X11 display driver win16drv/ -> see below @@ -86,12 +87,13 @@ Miscellaneous: - misc/ - shell, registry, winsock, etc. + misc/ - misc. wine management, registry, etc. ipc/ - SysV IPC based interprocess communication - win32/ - misc Win32 functions ole/ - OLE code - nls/ - National Language Support + nls/ - National Language Support configuration files + unicode/ - Unicode (character) support + win32/ - misc Win32 functions Tools: ------ Index: README =================================================================== RCS file: /home/wine/wine/README,v retrieving revision 1.28 diff -u -r1.28 README --- README 19 Dec 2001 18:48:45 -0000 1.28 +++ README 23 Dec 2001 13:07:07 -0000 @@ -59,7 +59,7 @@ Make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel. -File systems info : +File systems info: Wine should run on most file systems. However, Wine will fail to start if umsdos is used for the /tmp directory. A few compatibility problems have also been reported using files accessed through Samba. @@ -77,11 +77,12 @@ If you have libc6 (glibc2), or you compiled the X libraries yourself, they were probably compiled with the reentrant option enabled. -You also need to have libXpm installed on your system. The sources for -it are available at ftp.x.org and all its mirror sites in the directory -/contrib/libraries. If you are using RedHat, libXpm is distributed as the -xpm and xpm-devel packages. Debian distributes libXpm as xpm4.7, xpm4g, -and xpm4g-dev. SuSE calls these packages xpm and xpm-devel. +You also need to have libXpm (and its header files, e.g. xpm.h !) +installed on your system. The sources for it are available at ftp.x.org +and all its mirror sites in the directory /contrib/libraries. +If you are using RedHat, libXpm is distributed as packages xpm and xpm-devel. +Debian distributes libXpm as xpm4.7, xpm4g, and xpm4g-dev. +SuSE calls these packages xpm and xpm-devel. On x86 Systems gcc >= 2.7.2 is required. Versions earlier than 2.7.2.3 may have problems when certain files @@ -142,11 +143,16 @@ The file documentation/samples/config contains an example configuration file which has to be adapted and copied to the location mentioned above. +Don't forget to add vital registry entries by applying winedefault.reg +with programs/regapi/. See documentation/ for details. + See http://www.winehq.com/support.shtml for further configuration hints. In order to verify the correctness of the environment you need for Wine to run successfully, run "./tools/winecheck | less". You'll get a percentage score indicating "Wine configuration correctness". +As this program is alpha, it doesn't run a truly thorough test yet, though, +so it should be taken as a first verification step only. 6. RUNNING PROGRAMS @@ -165,7 +171,7 @@ Note: the path of the file will also be added to the path when a full name is supplied on the commandline. -Wine is not yet complete, so some programs may crash. Provided you set up +Wine is not yet complete, so several programs may crash. Provided you set up winedbg correctly according to documentation/debugger.sgml, you will be dropped into a debugger so that you can investigate and fix the problem. For more information on how to do this, please read the file documentation/debugging. @@ -178,7 +184,8 @@ if you don't have a proper backup, as it renames/cripples several directories sometimes. Not even other MS apps such as e.g. Messenger are safe, as they launch Explorer somehow. This particular corruption (!$!$!$!$.pfr) -can be fixed with http://home.nexgo.de/andi.mohr/download/decorrupt_explorer +can at least partially be fixed by using +http://home.nexgo.de/andi.mohr/download/decorrupt_explorer 7. GETTING MORE INFORMATION @@ -210,10 +217,9 @@ There are several mailing lists for Wine developers; see http://www.winehq.com/dev.shtml#ml for more information. -If you add something, or fix a bug, please send a patch ('diff -u' -format preferred) to julliard@winehq.com or to the -wine-patches@winehq.com mailing list for inclusion in the next -release. +If you add something, or fix a bug, please send a patch ('diff -u' format +much preferred) to julliard@winehq.com or to the wine-patches@winehq.com +mailing list for inclusion in the next release. -- Alexandre Julliard Index: configure.in =================================================================== RCS file: /home/wine/wine/configure.in,v retrieving revision 1.238 diff -u -r1.238 configure.in --- configure.in 14 Dec 2001 22:47:19 -0000 1.238 +++ configure.in 23 Dec 2001 13:07:08 -0000 @@ -159,6 +159,7 @@ dnl NOTE: autoconf does not allow commas inside the third dnl parameter to AC_CHECK_HEADERS, due to some quoting dnl magic it does. + echo "can't find xpm development header (.h) files, e.g. xpm.h !" echo "Install the following packages:" echo "Red Hat < 7.1 : xpm xpm-devel" echo "Red Hat >= 7.1 : XFree86-devel" Index: dlls/ddraw/dsurface/dib.c =================================================================== RCS file: /home/wine/wine/dlls/ddraw/dsurface/dib.c,v retrieving revision 1.5 diff -u -r1.5 dib.c --- dlls/ddraw/dsurface/dib.c 10 Sep 2001 23:12:16 -0000 1.5 +++ dlls/ddraw/dsurface/dib.c 23 Dec 2001 13:07:09 -0000 @@ -386,7 +386,16 @@ dbuf = (BYTE*)ddesc.lpSurface+(xdst.top*ddesc.u1.lPitch)+(xdst.left*bpp); - dwFlags &= ~(DDBLT_WAIT|DDBLT_ASYNC);/* FIXME: can't handle right now */ + if (dwFlags & (DDBLT_WAIT|DDBLT_ASYNC)) + { + static BOOL displayed = FALSE; + if (!displayed) + { + FIXME("dwFlags DDBLT_WAIT and/or DDBLT_ASYNC: can't handle right now.\n"); + displayed = TRUE; + } + dwFlags &= ~(DDBLT_WAIT|DDBLT_ASYNC); + } /* First, all the 'source-less' blits */ if (dwFlags & DDBLT_COLORFILL) { Index: dlls/winedos/module.c =================================================================== RCS file: /home/wine/wine/dlls/winedos/module.c,v retrieving revision 1.11 diff -u -r1.11 module.c --- dlls/winedos/module.c 5 Dec 2001 22:19:57 -0000 1.11 +++ dlls/winedos/module.c 23 Dec 2001 13:07:09 -0000 @@ -328,6 +328,7 @@ */ void WINAPI MZ_LoadImage( LPCSTR filename, HANDLE hFile ) { + MESSAGE("Launching '%s' in DOS mode...\n", filename); if (MZ_DoLoadImage( hFile, filename, NULL )) MZ_Launch(); } Index: documentation/registry.sgml =================================================================== RCS file: /home/wine/wine/documentation/registry.sgml,v retrieving revision 1.3 diff -u -r1.3 registry.sgml --- documentation/registry.sgml 18 Jan 2001 23:03:47 -0000 1.3 +++ documentation/registry.sgml 23 Dec 2001 13:07:09 -0000 @@ -299,7 +299,7 @@ <term>UseNewFormat</term> <listitem> <para> - This option is obsolete. Wine now always use the new + This option is obsolete. Wine now always uses the new format; support for the old format was removed a while ago. </para> Index: relay32/builtin32.c =================================================================== RCS file: /home/wine/wine/relay32/builtin32.c,v retrieving revision 1.83 diff -u -r1.83 builtin32.c --- relay32/builtin32.c 9 Nov 2001 19:17:35 -0000 1.83 +++ relay32/builtin32.c 23 Dec 2001 13:07:09 -0000 @@ -135,7 +135,7 @@ if (!(wm = MODULE_FindModule( path ))) wm = MODULE_FindModule( dllname ); if (!wm) { - ERR( "loaded .so but dll %s still not found\n", dllname ); + ERR( "loaded .so but dll %s still not found - library environment problem or version conflict ?? Check your setup !\n", dllname ); /* wine_dll_unload( handle );*/ return NULL; } Index: server/trace.c =================================================================== RCS file: /home/wine/wine/server/trace.c,v retrieving revision 1.118 diff -u -r1.118 trace.c --- server/trace.c 20 Dec 2001 00:07:09 -0000 1.118 +++ server/trace.c 23 Dec 2001 13:07:10 -0000 @@ -1323,7 +1323,7 @@ static void dump_create_key_reply( const struct create_key_reply *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " created=%d", req->created ); } @@ -1337,17 +1337,17 @@ static void dump_open_key_reply( const struct open_key_reply *req ) { - fprintf( stderr, " hkey=%d", req->hkey ); + fprintf( stderr, " hkey=%04x", req->hkey ); } static void dump_delete_key_request( const struct delete_key_request *req ) { - fprintf( stderr, " hkey=%d", req->hkey ); + fprintf( stderr, " hkey=%04x", req->hkey ); } static void dump_enum_key_request( const struct enum_key_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " index=%d,", req->index ); fprintf( stderr, " info_class=%d", req->info_class ); } @@ -1372,7 +1372,7 @@ static void dump_set_key_value_request( const struct set_key_value_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " type=%d,", req->type ); fprintf( stderr, " namelen=%d,", req->namelen ); fprintf( stderr, " name=" ); @@ -1384,7 +1384,7 @@ static void dump_get_key_value_request( const struct get_key_value_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " name=" ); dump_varargs_unicode_str( cur_size ); } @@ -1399,7 +1399,7 @@ static void dump_enum_key_value_request( const struct enum_key_value_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " index=%d,", req->index ); fprintf( stderr, " info_class=%d", req->info_class ); } @@ -1418,14 +1418,14 @@ static void dump_delete_key_value_request( const struct delete_key_value_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " name=" ); dump_varargs_unicode_str( cur_size ); } static void dump_load_registry_request( const struct load_registry_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " file=%d,", req->file ); fprintf( stderr, " name=" ); dump_varargs_unicode_str( cur_size ); @@ -1433,13 +1433,13 @@ static void dump_save_registry_request( const struct save_registry_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " file=%d", req->file ); } static void dump_save_registry_atexit_request( const struct save_registry_atexit_request *req ) { - fprintf( stderr, " hkey=%d,", req->hkey ); + fprintf( stderr, " hkey=%04x,", req->hkey ); fprintf( stderr, " file=" ); dump_varargs_string( cur_size ); } Index: tools/wrc/README.wrc =================================================================== RCS file: /home/wine/wine/tools/wrc/README.wrc,v retrieving revision 1.10 diff -u -r1.10 README.wrc --- tools/wrc/README.wrc 24 Sep 2000 03:02:12 -0000 1.10 +++ tools/wrc/README.wrc 23 Dec 2001 13:07:10 -0000 @@ -17,7 +17,7 @@ Wrc generates an assembly file that can be assembled with GNU's gas, or passed to gcc. The assembly became necessary for two reasons. First, C does -not ensure relative position of declared data. Secondly, C complaints about +not ensure relative position of declared data. Secondly, C complains about complex initialization schemes that became necessary with the NE/PE directory generation. @@ -29,7 +29,9 @@ Usage: wrc [options...] [infile[.rc|.res]] -a n Alignment of resource (win16 only, default is 4) -A Auto register resources (only with gcc 2.7 and better) - -b Create a C array from a binary .res file + -b Create an assembly array from a binary .res file + -B x Set output byte-order x={n[ative], l[ittle], b[ig]} + (win32 only; default is n[ative] which equals little-endian) -c Add 'const' prefix to C constants -C cp Set the resource's codepage to cp (default is 0) -d n Set debug level to 'n' @@ -141,7 +143,7 @@ ---------------- Wrc also understands the LANGUAGE keyword (win32 only) for both global and local definitions of language. There are differences with respect to MS' and -Borland's implementation. Wrc uses 0,0 as the default language if non is +Borland's implementation. Wrc uses 0,0 as the default language if none is specified. Both MS and Borland use the language of the system that the compiler runs on. @@ -236,7 +238,7 @@ } wrc_resource32_t; The extension to winerc lies in the addition of the 'typename' field to -support usertype resoursec with names for types. +support usertype resources with names for types. Note that _ALL_ names generated by wrc and to be used in interfacing with wine are PASCAL-style strings, unlike winerc. The first element contains the @@ -248,14 +250,14 @@ NE/PE resource directory generation ----------------------------------- -A windows executable has a table/directory of resources avalable in that +A windows executable has a table/directory of resources available in that module. Wrc will generate this directory with the '-s' option and place it in the assembly output (and header-file). This will enable the separation of different modules (dlls) in wine, which is the next project after wrc. The layout of the PE directory should be exactly like the executable file. -The NE-directory layout _DIFFERS_ from the real NE-executable in such way -that all offsets to actual resource-data is relative to the NE-directory and +The NE directory layout _DIFFERS_ from the real NE executable in such way +that all offsets to actual resource data are relative to the NE directory and _NOT_ the beginning of the file. @@ -267,8 +269,8 @@ release. You cannot convert 32 bit .res-files into 16 bit output or vice versa. I -might implement 16 bit res into 32 bit output in the future, but I stronly -oppose to the other way arround. +might implement 16 bit res into 32 bit output in the future, but I strongly +oppose to the other way around. Bugs @@ -291,8 +293,8 @@ bertho@akhphd.au.dk -Please send the problematic rc-source with the bug so I can reproduce it. -Patches should _not_ be send to Alexandre but to me. I will then review the +Please send the problematic .rc source with the bug so I can reproduce it. +Patches should _not_ be sent to Alexandre but to me. I will then review the change and send a full patch to be included into the new wine release (I prefer 'diff -u' format). You can always upload suggestions to wine headquarters, but be sure to send me a copy. Index: tools/wrc/parser.y =================================================================== RCS file: /home/wine/wine/tools/wrc/parser.y,v retrieving revision 1.27 diff -u -r1.27 parser.y --- tools/wrc/parser.y 24 Jun 2001 00:23:37 -0000 1.27 +++ tools/wrc/parser.y 23 Dec 2001 13:07:12 -0000 @@ -8,7 +8,7 @@ * non-terminals (see cjunk rule). * 21-May-2000 BS - Partial implementation of font resources. * - Corrected language propagation for binary - * resources such as bitmaps, isons, cursors, + * resources such as bitmaps, icons, cursors, * userres and rcdata. The language is now * correct in .res files. * - Fixed reading the resource name as ident, @@ -2964,14 +2964,14 @@ case WRC_RT_ANIICON: case WRC_RT_GROUP_CURSOR: case WRC_RT_GROUP_ICON: - yywarning("Usertype uses reserved type-ID %d, which is auto-generated", yylval.num); + yywarning("Usertype uses reserved type ID %d, which is auto-generated", yylval.num); return lookahead; case WRC_RT_DLGINCLUDE: case WRC_RT_PLUGPLAY: case WRC_RT_VXD: case WRC_RT_HTML: - yywarning("Usertype uses reserved type-ID %d, which is not supported by wrc", yylval.num); + yywarning("Usertype uses reserved type ID %d, which is not supported by wrc yet", yylval.num); default: return lookahead; } @@ -2979,7 +2979,7 @@ if(remap) return token; else - yywarning("Usertype uses reserved type-ID %d, which is used by %s", yylval.num, type); + yywarning("Usertype uses reserved type ID %d, which is used by %s", yylval.num, type); return lookahead; } Index: win32/except.c =================================================================== RCS file: /home/wine/wine/win32/except.c,v retrieving revision 1.50 diff -u -r1.50 except.c --- win32/except.c 30 Nov 2001 18:46:55 -0000 1.50 +++ win32/except.c 23 Dec 2001 13:07:12 -0000 @@ -201,8 +201,7 @@ DWORD format_size; BOOL ret = FALSE; - MESSAGE("wine: Unhandled exception, starting debugger...\n"); - + MESSAGE("Wine: Unhandled exception/crash occurred -> trying to start debugger as configured in registry file...\n"); if (!RegOpenKeyA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug", &hDbgConf)) { DWORD type;