Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Apr 2000 23:13:00 -0400
From:      Will Andrews <andrews@technologist.com>
To:        FreeBSD Ports <ports@FreeBSD.org>
Subject:   emulators/wine patches - feedback needed
Message-ID:  <20000425231300.D1683@argon.blackdawn.com>

next in thread | raw e-mail | index | archive | help

--mojUlQ0s9EVzWg2t
Content-Type: text/plain; charset=us-ascii

Hello,

I've managed to get WINE to build with the 2000-03-26 snapshot. Could any
"real" WINE users please test this and see how it works for you? (I don't
have time to test these patches, at least not for a few weeks).

Removed files:
        patches/patch-a[frz]
        patches/patch-b[de]
        patches/patch-da
        patches/patch-e[bcdfg]

New patches:
        patches/patch-a[abc]
        patches/patch-f[abc]

The patch-a[bc] + patch-f* series are questionable. I didn't know how else
to resolve the differences in functions. If the 3rd argument for any of the
patch-f* series can be changed to something else to "fix" a problem, just
say so.

Thanks,

-- 
Will Andrews <andrews@technologist.com>
GCS/E/S @d- s+:+>+:- a--->+++ C++ UB++++ P+ L- E--- W+++ !N !o ?K w---
?O M+ V-- PS+ PE++ Y+ PGP+>+++ t++ 5 X++ R+ tv+ b++>++++ DI+++ D+ 
G++>+++ e->++++ h! r-->+++ y?

--mojUlQ0s9EVzWg2t
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="wine.diff"

Index: Makefile
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/Makefile,v
retrieving revision 1.77
diff -u -r1.77 Makefile
--- Makefile	2000/04/12 04:56:09	1.77
+++ Makefile	2000/04/26 02:10:44
@@ -6,18 +6,19 @@
 #
 
 PORTNAME=	wine
-PORTVERSION=	99.11.14
+PORTVERSION=	20000326
 CATEGORIES=	emulators
-MASTER_SITES=	${MASTER_SITE_SUNSITE}
+MASTER_SITES=	${MASTER_SITE_SUNSITE} \
+		ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/
 MASTER_SITE_SUBDIR=	ALPHA/wine/development
-DISTNAME=	Wine-${PORTVERSION:S/.//g}
+DISTNAME=	Wine-${PORTVERSION}
 
 MAINTAINER=	se@FreeBSD.org
 
 LIB_DEPENDS=	Xpm.4:${PORTSDIR}/graphics/xpm \
 		GL.14:${PORTSDIR}/graphics/Mesa3
 
-WRKSRC=		${WRKDIR}/wine-${PORTVERSION:S/.//g}
+WRKSRC=		${WRKDIR}/wine-${PORTVERSION}
 GNU_CONFIGURE=	yes
 MAN1=		wine.1
 MAN5=		wine.conf.5
@@ -72,7 +73,6 @@
 		${WRKSRC}/documentation/dlls \
 		${WRKSRC}/documentation/fonts \
 		${WRKSRC}/documentation/ioport-trace-hints \
-		${WRKSRC}/documentation/lables-and-serial-nubers \
 		${WRKSRC}/documentation/no-windows \
 		${WRKSRC}/documentation/printing \
 		${WRKSRC}/documentation/psdriver \
@@ -96,6 +96,8 @@
 		${PREFIX}/lib/wine
 	${INSTALL_DATA} ${WRKSRC}/winedefault.reg ${PREFIX}/lib/wine
 	${ECHO}
-	@${SED} s+%%PREFIX%%+${PREFIX}+g <${PKGMESSAGE}
+	@${SED} s+%%PREFIX%%+${PREFIX}+g \
+		< ${PKGMESSAGE} | \
+		${SED} s+%%PORTSDIR%%+${PORTSDIR}+g
 
 .include <bsd.port.mk>
Index: files/md5
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/files/md5,v
retrieving revision 1.48
diff -u -r1.48 md5
--- files/md5	1999/11/21 20:02:21	1.48
+++ files/md5	2000/04/22 22:44:16
@@ -1 +1 @@
-MD5 (Wine-991114.tar.gz) = 51df1d91f266b3e72c4e17093670da35
+MD5 (Wine-20000326.tar.gz) = c45a7ec5d88c30b6cb6f796adb87b48d
Index: patches/patch-au
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/patches/patch-au,v
retrieving revision 1.1
diff -u -r1.1 patch-au
--- patches/patch-au	1999/12/10 17:36:19	1.1
+++ patches/patch-au	2000/04/23 18:22:53
@@ -1,4 +1,5 @@
-Index: server/ptrace.c
+--- server/ptrace.c	Fri Mar 17 10:16:58 2000
++++ server/ptrace.c.new	Sun Apr 23 14:21:55 2000
 @@ -36,6 +36,11 @@
  #ifndef PTRACE_POKEDATA
  #define PTRACE_POKEDATA PT_WRITE_D
@@ -11,43 +12,52 @@
  
  static const int use_ptrace = 1;  /* set to 0 to disable ptrace */
  
-@@ -64,10 +69,10 @@
-             if (!thread)
-                 if (!(thread = get_thread_from_pid( pid ))) break;
-             if (!(thread->process->suspend + thread->suspend))
--                ptrace( PTRACE_CONT, pid, 0, sig );
+@@ -51,10 +56,10 @@
+         {
+         case SIGSTOP:  /* continue at once if not suspended */
+             if (!thread || !(thread->process->suspend + thread->suspend))
+-                ptrace( PTRACE_CONT, pid, 1, sig );
 +                ptrace( PTRACE_CONT, pid, PTRACE_KEEPIP, sig );
              break;
          default:  /* ignore other signals for now */
--            ptrace( PTRACE_CONT, pid, 0, sig );
+-            ptrace( PTRACE_CONT, pid, 1, sig );
 +            ptrace( PTRACE_CONT, pid, PTRACE_KEEPIP, sig );
              break;
          }
-         if (signal && sig != signal) goto restart;
-@@ -97,7 +102,7 @@
+         return sig;
+@@ -109,7 +114,7 @@
  static int attach_thread( struct thread *thread )
  {
      /* this may fail if the client is already being debugged */
 -    if (!use_ptrace || (ptrace( PTRACE_ATTACH, thread->unix_pid, 0, 0 ) == -1)) return 0;
 +    if (!use_ptrace || (ptrace( PTRACE_ATTACH, thread->unix_pid, PTRACE_KEEPIP, 0 ) == -1)) return 0;
-     if (debug_level) fprintf( stderr, "ptrace: attached to pid %d\n", thread->unix_pid );
+     if (debug_level) fprintf( stderr, "%08x: *attached*\n", (unsigned int)thread );
      thread->attached = 1;
      wait4_thread( thread, SIGSTOP );
-@@ -114,7 +119,7 @@
-     {
-         wait4_thread( thread, SIGTERM );
-         if (debug_level) fprintf( stderr, "ptrace: detaching from %d\n", thread->unix_pid );
--        ptrace( PTRACE_DETACH, thread->unix_pid, 0, SIGTERM );
-+        ptrace( PTRACE_DETACH, thread->unix_pid, PTRACE_KEEPIP, SIGTERM );
+@@ -126,7 +131,7 @@
+         if (!(thread->suspend + thread->process->suspend)) stop_thread( thread );
+         if (sig) kill( thread->unix_pid, sig );
+         if (debug_level) fprintf( stderr, "%08x: *detached*\n", (unsigned int)thread );
+-        ptrace( PTRACE_DETACH, thread->unix_pid, 1, sig );
++        ptrace( PTRACE_DETACH, thread->unix_pid, PTRACE_KEEPIP, sig );
          thread->attached = 0;
      }
- }
-@@ -137,7 +142,7 @@
+     else
+@@ -154,7 +159,7 @@
  {
      if (!thread->unix_pid) return;
      if (!thread->attached) kill( thread->unix_pid, SIGCONT );
--    else ptrace( PTRACE_CONT, thread->unix_pid, 0, SIGSTOP );
+-    else ptrace( PTRACE_CONT, thread->unix_pid, 1, SIGSTOP );
 +    else ptrace( PTRACE_CONT, thread->unix_pid, PTRACE_KEEPIP, SIGSTOP );
  }
  
+ /* suspend a thread to allow using ptrace on it */
+@@ -179,7 +184,7 @@
  /* read an int from a thread address space */
+ int read_thread_int( struct thread *thread, const int *addr, int *data )
+ {
+-    if (((*data = ptrace( PTRACE_PEEKDATA, thread->unix_pid, addr, 0 )) == -1) && errno)
++    if (((*data = ptrace( PTRACE_PEEKDATA, thread->unix_pid, addr, *data )) == -1) && errno)
+     {
+         file_set_error();
+         return -1;
Index: patches/patch-ea
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/patches/patch-ea,v
retrieving revision 1.1
diff -u -r1.1 patch-ea
--- patches/patch-ea	1999/12/10 17:36:20	1.1
+++ patches/patch-ea	2000/04/26 00:10:00
@@ -1,55 +1,6 @@
-From: mohr@elektron.ikp.physik.tu-darmstadt.de (Andreas Mohr)
-Newsgroups: local.list.wine.patches
-Subject: profile fix
-Date: 19 Nov 1999 11:47:40 +0100
-Organization: home
-Lines: 67
-Message-ID: <199911190815.JAA16531@hertz.ikp.physik.tu-darmstadt.de>
-Mime-Version: 1.0
-Content-Type: multipart/mixed; boundary=ELM942999323-16505-0_
-Content-Transfer-Encoding: 7bit
-X-Resent-Date: Fri, 19 Nov 1999 01:15:36 -0700
-X-To: wine-patches@winehq.com
-X-Mailer: ELM [version 2.4ME+ PL47 (25)]
-X-Resent-Message-ID: <gIikWB.A.V_.ocQN4@ursula.gmcl.com>
-X-Resent-From: wine-patches@winehq.com
-X-Reply-To: wine-devel@winehq.com
-X-Mailing-List: <wine-patches@winehq.com> archive/latest/2148
-X-Loop: wine-patches@winehq.com
-X-Precedence: list
-X-Resent-Sender: wine-patches-request@winehq.com
-
-
---ELM942999323-16505-0_
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: 7bit
-
-Hi !
-
-OK, first Huw with the registry, now me with the profile handling :-\
-
-Fixed a gross bug in PROFILE_Open:
-Before making a newly opened file the current profile, not only
-the oldest profile should be flushed, but also the *old* current profile !!
-
-And nobody never ever found that bug. VERY strange...
-
-Andreas Mohr
-
---ELM942999323-16505-0_
-Content-Type: text/plain; charset=iso-8859-1
-Content-Disposition: attachment; filename=diff.profile
-Content-Description: /home/mohr/diff.profile
-Content-Transfer-Encoding: 7bit
-
-Index: files/profile.c
-===================================================================
-RCS file: /home/wine/wine/files/profile.c,v
-retrieving revision 1.15
-diff -u -w -r1.15 profile.c
---- files/profile.c	1999/10/31 17:32:57	1.15
-+++ files/profile.c	1999/11/19 08:07:49
-@@ -373,6 +373,7 @@
+--- files/profile.c	Sat Mar 25 16:44:37 2000
++++ files/profile.c.new	Tue Apr 25 20:08:59 2000
+@@ -496,6 +496,7 @@
          return FALSE;
      }
  
@@ -57,32 +8,3 @@
      if (!CurProfile->changed || !CurProfile->dos_name) return TRUE;
      if (!(unix_name = CurProfile->unix_name) || !(file = fopen(unix_name, "w")))
      {
-@@ -494,8 +495,10 @@
-          }
-       }
- 
--    /* Rotate the oldest to the top to be replaced */
-+	/* Flush the old current profile */
-+	PROFILE_FlushFile();
- 
-+    /* Make the oldest profile the current one only in order to get rid of it */
-     if(i==N_CACHED_PROFILES)
-       {
-        tempProfile=MRUProfile[N_CACHED_PROFILES-1];
-@@ -503,11 +506,9 @@
-           MRUProfile[i]=MRUProfile[i-1];
-        CurProfile=tempProfile;
-       }
--
--    /* Flush the profile */
--
-     if(CurProfile->filename) PROFILE_ReleaseFile();
- 
-+	/* OK, now that CurProfile is definitely free we assign it our new file */
-     newdos_name = HEAP_strdupA( SystemHeap, 0, full_name.short_name );
-     CurProfile->dos_name  = newdos_name;
-     CurProfile->filename  = HEAP_strdupA( SystemHeap, 0, filename );
-
---ELM942999323-16505-0_--
-
----
Index: patches/patch-ee
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/patches/patch-ee,v
retrieving revision 1.1
diff -u -r1.1 patch-ee
--- patches/patch-ee	1999/12/10 17:36:20	1.1
+++ patches/patch-ee	2000/04/26 01:54:19
@@ -1,91 +1,14 @@
-From: rklazes@casema.net (Rein Klazes)
-Newsgroups: local.list.wine.patches
-Subject: 16 bits dialog patch.
-Date: 16 Nov 1999 19:31:16 +0100
-Organization: -++-
-Lines: 232
-Message-ID: <199911161137.EAA11876@ursula.gmcl.com>
-MIME-Version: 1.0
-Content-Type: multipart/mixed; boundary="--=_6UExOKVVL1eFPpiMs=Y5SwSVvDwS.MFSBCHJLHS"
-X-Resent-Date: Tue, 16 Nov 1999 04:37:34 -0700
-X-To: wine-patches@winehq.com
-X-Mailer: Forte Agent 1.6/32.525
-X-Resent-Message-ID: <ELvLED.A.u5C.-HUM4@ursula.gmcl.com>
-X-Resent-From: wine-patches@winehq.com
-X-Reply-To: wine-devel@winehq.com
-X-Mailing-List: <wine-patches@winehq.com> archive/latest/2131
-X-Loop: wine-patches@winehq.com
-X-Precedence: list
-X-Resent-Sender: wine-patches-request@winehq.com
-
-
-----=_6UExOKVVL1eFPpiMs=Y5SwSVvDwS.MFSBCHJLHS
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-
-Hi,
-
-I have an application here that has stopped working since the
-introduction of 32 bit message queues.
-
-The application breaks when it posts a WM_COMMAND message using
-PostMessage16. 
-
-The message is received by a  GetMessage and dispatched by
-DispatchMessageA in DIALOG_DoDialogBox(). However these are win32
-functions and when calling the 16 bit dialogproc, a message
-translation 32->16 bits is done which messes up the parameters.
-
-The patch corrects this in a trivial way by adding a parameter to
-DIALOG_DoDialogBox() that flags whether 16 bits functions should be
-used. 
-
-If there is a better way do fix this problem then let me know.
-
-Files:
-./include/dialog.h
-./windows/dialog.c
-./dlls/commdlg/colordlg.c
-./dlls/commdlg/filedlg.c
-./dlls/commdlg/fontdlg.c
-./dlls/commdlg/printdlg.c
-
-Changelog:
-Correct handling of 16 bits messages in DIALOG_DoDialogBox()
-
-Rein.
--- 
-Rein Klazes
-rklazes@casema.net
-
-----=_6UExOKVVL1eFPpiMs=Y5SwSVvDwS.MFSBCHJLHS
-Content-Type: text/plain; charset=us-ascii; name=dlg16.diff
-Content-Transfer-Encoding: 7bit
-Content-Disposition: attachment; filename=dlg16.diff
-
-Index: include/dialog.h
---- ./wine/./include/dialog.h	Sun Apr 25 14:36:53 1999
-+++ ./mywine/./include/dialog.h	Tue Nov 16 11:49:40 1999
-@@ -43,6 +43,6 @@
-                                      BOOL win32Template, HWND owner,
-                                      DLGPROC16 dlgProc, LPARAM param,
-                                      WINDOWPROCTYPE procType );
--extern INT DIALOG_DoDialogBox( HWND hwnd, HWND owner );
-+extern INT DIALOG_DoDialogBox( HWND hwnd, HWND owner, BOOL iswin16);
- 
- #endif  /* __WINE_DIALOG_H */
-Index: windows/dialog.c
---- ./wine/./windows/dialog.c	Sun Nov  7 22:02:17 1999
-+++ ./mywine/./windows/dialog.c	Tue Nov 16 11:50:43 1999
-@@ -22,6 +22,7 @@
- #include "winproc.h"
+--- windows/dialog.c	Sun Mar 19 09:20:52 2000
++++ windows/dialog.c.new	Tue Apr 25 21:53:24 2000
+@@ -26,6 +26,7 @@
  #include "message.h"
+ #include "queue.h"
  #include "debugtools.h"
 +#include "struct32.h"
  
- DEFAULT_DEBUG_CHANNEL(dialog)
+ DEFAULT_DEBUG_CHANNEL(dialog);
  
-@@ -929,7 +930,7 @@
+@@ -933,7 +934,7 @@
  /***********************************************************************
   *           DIALOG_DoDialogBox
   */
@@ -94,8 +17,8 @@
  {
      WND * wndPtr;
      DIALOGINFO * dlgInfo;
-@@ -948,11 +949,24 @@
-         while (MSG_InternalGetMessage(&msg, hwnd, owner, MSGF_DIALOGBOX, 
+@@ -952,11 +953,24 @@
+         while (MSG_InternalGetMessage(QMSG_WIN32A, &msg, hwnd, owner, MSGF_DIALOGBOX, 
                                        PM_REMOVE, !(wndPtr->dwStyle & DS_NOIDLEMSG), NULL ))
          {
 -            if (!IsDialogMessageA( hwnd, &msg))
@@ -122,7 +45,7 @@
              if (dlgInfo->flags & DF_END) break;
          }
          EnableWindow( owner, TRUE );
-@@ -981,7 +995,7 @@
+@@ -985,7 +999,7 @@
                                 HWND16 owner, DLGPROC16 dlgProc, LPARAM param )
  {
      HWND16 hwnd = CreateDialogParam16( hInst, template, owner, dlgProc, param);
@@ -131,7 +54,7 @@
      return -1;
  }
  
-@@ -993,7 +1007,7 @@
+@@ -997,7 +1011,7 @@
                                  HWND owner, DLGPROC dlgProc, LPARAM param )
  {
      HWND hwnd = CreateDialogParamA( hInst, name, owner, dlgProc, param );
@@ -140,7 +63,7 @@
      return -1;
  }
  
-@@ -1005,7 +1019,7 @@
+@@ -1009,7 +1023,7 @@
                                  HWND owner, DLGPROC dlgProc, LPARAM param )
  {
      HWND hwnd = CreateDialogParamW( hInst, name, owner, dlgProc, param );
@@ -149,7 +72,7 @@
      return -1;
  }
  
-@@ -1033,7 +1047,7 @@
+@@ -1037,7 +1051,7 @@
      if (!(ptr = GlobalLock16( dlgTemplate ))) return -1;
      hwnd = CreateDialogIndirectParam16( hInst, ptr, owner, dlgProc, param );
      GlobalUnlock16( dlgTemplate );
@@ -158,7 +81,7 @@
      return -1;
  }
  
-@@ -1047,7 +1061,7 @@
+@@ -1051,7 +1065,7 @@
  {
      HWND hwnd = CreateDialogIndirectParamA( hInstance, template,
                                                  owner, dlgProc, param );
@@ -167,7 +90,7 @@
      return -1;
  }
  
-@@ -1061,7 +1075,7 @@
+@@ -1065,7 +1079,7 @@
  {
      HWND hwnd = CreateDialogIndirectParamW( hInstance, template,
                                                  owner, dlgProc, param );
@@ -175,84 +98,13 @@
 +    if (hwnd) return DIALOG_DoDialogBox( hwnd, owner, FALSE );
      return -1;
  }
- 
-Index: dlls/commdlg/colordlg.c
---- ./wine/./dlls/commdlg/colordlg.c	Sat Jul 24 12:27:58 1999
-+++ ./mywine/./dlls/commdlg/colordlg.c	Tue Nov 16 10:18:12 1999
-@@ -108,7 +108,8 @@
-                                         lpChCol->hwndOwner,
-                                         (DLGPROC16)ColorDlgProc,
-                                         (DWORD)lpChCol, WIN_PROC_32A );
--    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpChCol->hwndOwner);
-+    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpChCol->hwndOwner,
-+            TRUE);
-     if (hDlgTmpl) FreeResource16( hDlgTmpl );
- 
-     return bRet;
-Index: dlls/commdlg/filedlg.c
---- ./wine/./dlls/commdlg/filedlg.c	Wed Oct 13 15:51:57 1999
-+++ ./mywine/./dlls/commdlg/filedlg.c	Tue Nov 16 10:21:52 1999
-@@ -251,7 +251,7 @@
-                                         lpofn->hwndOwner,
-                                         (DLGPROC16)FileOpenDlgProc,
-                                         ofn, WIN_PROC_32A );
--    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner );
-+    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner, TRUE );
  
-     if (str1)
-       {
-@@ -413,7 +413,7 @@
-                                         lpofn->hwndOwner,
-                                         (DLGPROC16)FileSaveDlgProc,
-                                         ofn, WIN_PROC_32A );
--    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner );
-+    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner, TRUE );
- 
-     if (str1)
-       {
-Index: dlls/commdlg/fontdlg.c
---- ./wine/./dlls/commdlg/fontdlg.c	Sat Jul 24 12:27:58 1999
-+++ ./mywine/./dlls/commdlg/fontdlg.c	Tue Nov 16 10:23:04 1999
-@@ -124,7 +124,7 @@
-                                         lpChFont->hwndOwner,
-                                         (DLGPROC16)FormatCharDlgProcA,
-                                         (DWORD)lpChFont, WIN_PROC_32A );
--    if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner);
-+    if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner, TRUE);
-     if (hDlgTmpl) FreeResource16( hDlgTmpl );
-     lpChFont->lpTemplateName=lpTemplateName;
-     FONT_LogFont32ATo16(cf32a.lpLogFont, 
-@@ -160,7 +160,7 @@
-     CF_ENABLETEMPLATEHANDLE)) FIXME(": unimplemented flag (ignored)\n");
-   hwndDialog = DIALOG_CreateIndirect(hInst, template, TRUE, lpChFont->hwndOwner,
-             (DLGPROC16)FormatCharDlgProcA, (LPARAM)lpChFont, WIN_PROC_32A );
--  if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner);  
-+  if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner, TRUE);  
-   return bRet;
+@@ -1081,7 +1095,7 @@
+       hInstance, template, owner, dlgProc, param, x);
+     hwnd = CreateDialogIndirectParamW( hInstance, template,
+                                                 owner, dlgProc, param );
+-    if (hwnd) return DIALOG_DoDialogBox( hwnd, owner );
++    if (hwnd) return DIALOG_DoDialogBox( hwnd, owner, FALSE );
+     return -1;
  }
  
-@@ -199,7 +199,7 @@
-   lpChFont->lpTemplateName=(LPWSTR)&cf32a;
-   hwndDialog=DIALOG_CreateIndirect(hInst, template, TRUE, lpChFont->hwndOwner,
-             (DLGPROC16)FormatCharDlgProcW, (LPARAM)lpChFont, WIN_PROC_32W );
--  if (hwndDialog)bRet=DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner);  
-+  if (hwndDialog)bRet=DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner, TRUE);  
-   HeapFree(GetProcessHeap(), 0, cf32a.lpszStyle);
-   lpChFont->lpTemplateName=(LPWSTR)cf32a.lpTemplateName;
-   memcpy(lpChFont->lpLogFont, &lf32a, sizeof(CHOOSEFONTA));
-Index: dlls/commdlg/printdlg.c
---- ./wine/./dlls/commdlg/printdlg.c	Sun Nov 14 08:08:30 1999
-+++ ./mywine/./dlls/commdlg/printdlg.c	Tue Nov 16 10:23:35 1999
-@@ -288,7 +288,7 @@
-             (DLGPROC16)PrintDlgProcA, (LPARAM)&PrintStructures, WIN_PROC_32A );
-         }
-     if (hwndDialog) 
--        bRet = DIALOG_DoDialogBox(hwndDialog, lppd->hwndOwner);  
-+        bRet = DIALOG_DoDialogBox(hwndDialog, lppd->hwndOwner, TRUE);  
-      
-     /* free memory & resources
-      */   
-
-----=_6UExOKVVL1eFPpiMs=Y5SwSVvDwS.MFSBCHJLHS--
-
----
Index: patches/patch-eh
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/patches/patch-eh,v
retrieving revision 1.1
diff -u -r1.1 patch-eh
--- patches/patch-eh	1999/12/10 17:36:21	1.1
+++ patches/patch-eh	2000/04/26 01:35:39
@@ -1,367 +1,10 @@
-From: tomasek@etf.cuni.cz (Petr Tomasek)
-Newsgroups: local.list.wine.patches
-Subject: Auto reading of labels & serial numbers. (fwd)
-Date: 15 Nov 1999 21:22:36 +0100
-Organization: home
-Lines: 295
-Message-ID: <Pine.LNX.4.04.9911151313350.2292-200000@ebed.etf.cuni.cz>
-Mime-Version: 1.0
-Content-Type: MULTIPART/MIXED; BOUNDARY="1908605701-2102248834-942667042=:1411"
-Content-ID: <Pine.LNX.4.04.9911151313351.2292@ebed.etf.cuni.cz>
-X-Resent-Date: Mon, 15 Nov 1999 05:16:28 -0700
-X-To: wine-patches@winehq.com
-X-Resent-Message-ID: <z4vwk.A.na.cm_L4@ursula.gmcl.com>
-X-Resent-From: wine-patches@winehq.com
-X-Reply-To: wine-devel@winehq.com
-X-Mailing-List: <wine-patches@winehq.com> archive/latest/2126
-X-Loop: wine-patches@winehq.com
-X-Precedence: list
-X-Resent-Sender: wine-patches-request@winehq.com
-
-
-Hello!
-
-I've made a patch, that allows wine to read labels and
-serial numbers directly from the device (no more having to
-be specified in the wine.conf file).
-
-For doc see Documentation/labels-and-serial-numbers.
-
-One more issue: I had to create procedure named
-'PROFILE_ExistWineString' (in profile.c), that checks,
-whether certain entry exists in the wine.conf. You may want
-to change its name to something better....
-
-Best Wishes
-
-Petr Tomasek
-
-BTW, could I be informed, whether the patch was accepted to
-the CVS /Wine release? Thanks!
-
-
---
-Petr Tomasek, http://www.etf.cuni.cz/~tomasek/
-
-Index: documentation/cdrom-labels
-diff -ruN wine-991031/documentation/cdrom-labels wine-991031-new/documentation/cdrom-labels
---- wine-991031/documentation/cdrom-labels	Sun Jun  6 19:28:20 1999
-+++ wine-991031-new/documentation/cdrom-labels	Sun Nov 14 14:41:08 1999
-@@ -1,3 +1,7 @@
-++-----------------------------------------------------------------------------+
-+| This doc is obsolate now. See 'labels-and-serial-nubmers' for current info. |
-++-----------------------------------------------------------------------------+
-+
- *** VOLUME LABEL
+--- include/options.h	Sat Mar 18 16:56:10 2000
++++ include/options.h.new	Tue Apr 25 21:34:54 2000
+@@ -77,6 +77,7 @@
  
- If a program depends on the correct label and/or serial number for the
-Index: documentation/lables-and-serial-nubers
-diff -ruN wine-991031/documentation/lables-and-serial-nubers wine-991031-new/documentation/lables-and-serial-nubers
---- documentation/lables-and-serial-nubers	Thu Jan  1 01:00:00 1970
-+++ documentation/lables-and-serial-nubers	Sun Nov 14 16:12:01 1999
-@@ -0,0 +1,88 @@
-+[FIXME - can someone translate this into (real) english? :)) ]
-+[FIXME - update the 'Documentation/config' accordingly]
-+
-+
-+		Drive Labels and Serial Numbers with wine.
-+		-----------------------------------------
-+
-+	Until now, You had to specify drive labels and serial numbers in wine 
-+config file manually. For now, wine can read them directly from the device.
-+	This may be usefull mainly for programs distributed on CD-Roms, that
-+check for volume label at the setup or when accesing the disc.  
-+
-+WHAT'S SUPPORTED ?
-+
-+    *	FAT systems (types 'hd' and 'floppy'): reads labels and serial num's.
-+    * 	Iso9660 ('cdrom'):                     reads labels only.
-+
-+HOW TO SET UP ?
-+
-+	There are two ways: You can either set 'ReadLabelFromDevice=' and
-+'ReadSerialFromDevice=' in [Drive X] section in Your wine.conf (~/.winerc) 
-+to 'true' or 'false', if want to disable/enable reading label/serial number
-+from the device for this drive. Note, that you have to have specified 'Device' 
-+and appropriate 'Type' entries!
-+
-+	If 'ReadLabelFromDevice' and/or 'ReadSerialFromDevice' unspecified, wine
-+tries to find out, whether to read labels/serial num's from device by itself.
-+It will read them when 'Device' and 'Type' entries specified correctly and 
-+appropriate 'Label'/'Serial' section is NOT specified. (In other words 
-+specifying 'Label'/'Serial' will cause wine to use specified value rather, 
-+than reading it from the device).
-+
-+
-+EXAMPLES
-+
-+*** Simple example of cdrom and floppy; labels will be read from the device on 
-+both, cdrom and floppy; serial numbers on floppy only:
-+
-+[Drive A]
-+Path=/mnt/floppy
-+Type=floppy
-+Device=/dev/fd0
-+Filesystem=msdos
-+
-+[Drive R]
-+Path=/mnt/cdrom
-+Type=cdrom
-+Device=/dev/hda1
-+Filesystem=win95
-+
-+*** Cdrom. We want to override the label:
-+
-+[Drive J]
-+Path=/mnt/cdrom
-+Type=cdrom
-+Label=X234GCDSE
-+Device=/dev/cdrom
-+Filesystem=msdos
-+
-+*** This is a bit tricky example. It will read label and serial number from the 
-+ZIP disk; if this fails (no ZIP disk in drive/ acces denied to the device /
-+the disk is not formatted as FAT), it will fall back to the specified values.
-+
-+[Drive D]
-+Path=/mnt/zip
-+Type=hd
-+Label=*Unknown*
-+ReadLabelFromDevice=true
-+Serial=00000000
-+ReadSerialFromDevice=true
-+Device=/dev/hdc4
-+Filesystem=msdos
-+
-+
-+TODO / OPEN ISSUES
-+
-+ - The cdrom-label can be read only if the data track of the disk resides in 
-+the first track and the cdrom is iso9660.
-+ - Better checking for FAT superblock (it now check's only one byte).
-+ - Support for labels/serial num's WRITING.
-+ - Can the label be longer than 11 chars? (iso9660 has 32 chars).
-+ - What about reading ext2 volume label? ....
-+
-+
-+					Petr Tomasek
-+					<tomasek@etf.cuni.cz>
-+					Nov 14 1999
-+
-Index: files/drive.c
-diff -ruN wine-991031/files/drive.c wine-991031-new/files/drive.c
---- wine-991031/files/drive.c	Wed Oct 13 15:57:38 1999
-+++ wine-991031-new/files/drive.c	Sun Nov 14 16:42:45 1999
-@@ -3,6 +3,10 @@
-  *
-  * Copyright 1993 Erik Bos
-  * Copyright 1996 Alexandre Julliard
-+ *
-+ * Label & Serial-number read support. 
-+ *  (c) 1999 Petr Tomasek <tomasek@etf.cuni.cz> 
-+ *
-  */
- 
- #include "config.h"
-@@ -59,6 +63,8 @@
-     UINT    flags;     /* drive flags */
-     dev_t     dev;       /* unix device number */
-     ino_t     ino;       /* unix inode number */
-+    int       read_label;   /* should disk label be read from device ? */
-+    int	      read_serial;  /* should serial number be read ? */
- } DOSDRIVE;
- 
- 
-@@ -187,6 +193,25 @@
-                                       buffer, sizeof(buffer) );
-             drive->serial = strtoul( buffer, NULL, 16 );
- 
-+	    /* Should the label be read directly from the device ? */
-+            drive->read_label=
-+	       ((drive->type==TYPE_FLOPPY) ||
-+                 (drive->type==TYPE_HD) ||
-+                 (drive->type==TYPE_CDROM)) &&
-+		(PROFILE_ExistWineString(  name, "Device")) &&
-+	          (PROFILE_ExistWineString(name, "ReadLabelFromDevice") ?
-+                  PROFILE_GetWineIniBool(name, "ReadLabelFromDevice", 1) : 
-+    	            (!PROFILE_ExistWineString(  name, "Label")));
-+
-+	    /* Should the serial number be read from the device ? */
-+            drive->read_serial=
-+	       ((drive->type==TYPE_FLOPPY) ||
-+                 (drive->type==TYPE_HD)) &&
-+		(PROFILE_ExistWineString( name, "Device")) &&
-+	          (PROFILE_ExistWineString(name, "ReadSerialFromDevice") ?
-+                  PROFILE_GetWineIniBool(name, "ReadSerialFromDevice", 1) : 
-+                    (!PROFILE_ExistWineString( name, "Serial")));
-+
-             /* Get the filesystem type */
-             PROFILE_GetWineIniString( name, "Filesystem", "win95",
-                                       buffer, sizeof(buffer) );
-@@ -207,6 +232,8 @@
-                            name, path, DRIVE_Types[drive->type],
-                            drive->label, drive->serial, drive->flags,
-                            (int)drive->dev, (int)drive->ino );
-+	    TRACE_(dosfs)("%s: label ? %d , serial ? %d\n",name,
-+			   drive->read_label, drive->read_serial);
-         }
-         else WARN_(dosfs)("%s: not defined\n", name );
-     }
-@@ -395,11 +422,80 @@
- 
- 
- /***********************************************************************
-+ *           DRIVE_ReadFatSuperblock
-+ *
-+ * Used in DRIVE_GetLabel and DRIVE_GetSerial
-+ */
-+int DRIVE_ReadFatSuperblock (char * dev, char * buff) 
-+{
-+int fd;
-+#define DRIVE_SUPER 96  /* Number of bytes read from the superblock */
-+
-+if (memset(buff,0,DRIVE_SUPER)!=buff) return -1;
-+if ((fd=open(dev,O_RDONLY))==-1) return -1;
-+if (read(fd,buff,DRIVE_SUPER)!=DRIVE_SUPER) return -2;
-+if (buff[0x26]!=0x29)  return -3;   /* Check for FAT present */ 
-+return close (fd);
-+}
-+
-+
-+/***********************************************************************
-+ *           DRIVE_ReadIso9660Superblock
-+ *
-+ * Used in DRIVE_GetLabel
-+ */
-+int DRIVE_ReadIso9660Superblock (char * dev, char * buff) 
-+{
-+int block=0;   
-+/* FIXME: Maybe we should search for the first data track on the CD,
-+    not just assume, that it is the first track. */
-+int fd;
-+off_t offset;
-+offset=(off_t)2048*(16+block);
-+
-+if (memset(buff,0,DRIVE_SUPER)!=buff) return -1;
-+if ((fd=open(dev,O_RDONLY))==-1) return -1;
-+if (lseek(fd,offset,SEEK_SET)!=offset) return -4;
-+if (read(fd,buff,DRIVE_SUPER)!=DRIVE_SUPER) return -2;
-+if (strncmp(&buff[1],"CD001",5)) return -3;   /* Check for iso9660 present */
-+return close (fd);
-+
-+}
-+
-+
-+
-+/***********************************************************************
-  *           DRIVE_GetLabel
-  */
- const char * DRIVE_GetLabel( int drive )
- {
-+char buff[DRIVE_SUPER];
-+
-     if (!DRIVE_IsValid( drive )) return NULL;
-+    if (DOSDrives[drive].read_label) {
-+      if ((DOSDrives[drive].type == TYPE_FLOPPY) ||
-+          (DOSDrives[drive].type == TYPE_HD)) {
-+	if (DRIVE_ReadFatSuperblock(DOSDrives[drive].device,(char *) buff))
-+           
-+	  MESSAGE("Invalid or unreadable superblock on %s (%c:)."
-+             " Maybe not FAT?\n" ,DOSDrives[drive].device,(char)(drive+'A'));
-+	else {
-+		memcpy(DOSDrives[drive].label,buff+0x2b,11);
-+		DOSDrives[drive].label[11]='\0';
-+	 }
-+       }
-+      if (DOSDrives[drive].type == TYPE_CDROM) {
-+	if (DRIVE_ReadIso9660Superblock(DOSDrives[drive].device,(char *) buff))
-+           
-+	  MESSAGE("Invalid or unreadable superblock on %s (%c:)."
-+           " Maybe not Iso9660?\n" ,DOSDrives[drive].device,(char)(drive+'A'));
-+	else {
-+/* FIXME: Iso9660 uses 32-bytes long label. Should we do also? */
-+		memcpy(DOSDrives[drive].label,buff+40,11);
-+		DOSDrives[drive].label[11]='\0';
-+	 }
-+       }
-+     }
-     return DOSDrives[drive].label;
- }
- 
-@@ -409,7 +505,19 @@
-  */
- DWORD DRIVE_GetSerialNumber( int drive )
- {
-+char buff[DRIVE_SUPER];
-+
-     if (!DRIVE_IsValid( drive )) return 0;
-+    if (DOSDrives[drive].read_serial)
-+      if ((DOSDrives[drive].type == TYPE_FLOPPY) ||
-+          (DOSDrives[drive].type == TYPE_HD)) {
-+	if (DRIVE_ReadFatSuperblock(DOSDrives[drive].device,(char *) buff))
-+           
-+	  MESSAGE("Invalid or unreadable superblock on %s (%c:)."
-+             " Maybe not FAT?\n" ,DOSDrives[drive].device,(char)(drive+'A'));
-+	else 
-+	DOSDrives[drive].serial=*((DWORD*)(buff+0x27));
-+       }
-     return DOSDrives[drive].serial;
- }
- 
-Index: files/profile.c
-diff -ruN wine-991031/files/profile.c wine-991031-new/files/profile.c
---- wine-991031/files/profile.c	Sun Oct 31 18:32:57 1999
-+++ wine-991031-new/files/profile.c	Sat Nov 13 20:37:29 1999
-@@ -708,6 +708,27 @@
- 
- 
- /***********************************************************************
-+ *           PROFILE_ExistWineString
-+ *
-+ * Tests for tags in the wine.ini file. 
-+ */
-+int PROFILE_ExistWineString ( const char *section, const char *key_name)
-+{
-+
-+    int	ret;
-+
-+    EnterCriticalSection( &PROFILE_CritSect );
-+
-+ret=(PROFILE_Find(&PROFILE_WineProfile, section, key_name, FALSE)!=NULL);
-+
-+    LeaveCriticalSection( &PROFILE_CritSect );
-+
-+    return ret;
-+}
-+
-+
-+
-+/***********************************************************************
-  *           PROFILE_GetWineIniString
-  *
-  * Get a config string from the wine.ini file.
-Index: include/options.h
-diff -ruN wine-991031/include/options.h wine-991031-new/include/options.h
---- wine-991031/include/options.h	Fri Jul 23 21:19:56 1999
-+++ wine-991031-new/include/options.h	Sat Nov 13 20:38:31 1999
-@@ -83,6 +83,7 @@
- 
  /* Profile functions */
  
-+extern int PROFILE_ExistWineString( const char *section ,const char *key_name);
++extern int PROFILE_ExistWineString (const char *section, const char *key_name);
+ extern const char *PROFILE_GetConfigDir(void);
  extern int PROFILE_LoadWineIni(void);
  extern void PROFILE_UsageWineIni(void);
- extern int PROFILE_GetWineIniString( const char *section, const char *key_name,
-Index: libtest/volinfo.c
-diff -ruN wine-991031/libtest/volinfo.c wine-991031-new/libtest/volinfo.c
---- wine-991031/libtest/volinfo.c	Sat Apr  3 15:52:04 1999
-+++ wine-991031-new/libtest/volinfo.c	Sun Nov 14 05:59:18 1999
-@@ -13,7 +13,7 @@
- 
-     printf("Drive Serial     Flags      Filename-Length "
-            "Label                 Fsname\n");
--    for (drive = 'C'; drive <= 'Z'; drive++)
-+    for (drive = 'A'; drive <= 'Z'; drive++)
-     {
-         root[0] = drive;
-         if (GetVolumeInformation(root,label,labellen,&serial,
Index: pkg/MESSAGE
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/pkg/MESSAGE,v
retrieving revision 1.2
diff -u -r1.2 MESSAGE
--- pkg/MESSAGE	1999/12/10 17:36:22	1.2
+++ pkg/MESSAGE	2000/04/22 21:14:57
@@ -15,5 +15,5 @@
 just installed this as a package and don't know how to use the ports
 system to have it fetch and extract the source for you have a look at
 http://www.freebsd.org/handbook/ports.html .  In short:
-cd /usr/ports/emulators/wine && make configure )
+cd %%PORTSDIR%%/emulators/wine && make configure )
 
Index: pkg/PLIST
===================================================================
RCS file: /extra/cvsroot/ports/emulators/wine/pkg/PLIST,v
retrieving revision 1.5
diff -u -r1.5 PLIST
--- pkg/PLIST	1999/12/10 17:36:22	1.5
+++ pkg/PLIST	2000/04/26 02:10:52
@@ -25,7 +25,6 @@
 lib/wine/documentation/dlls
 lib/wine/documentation/fonts
 lib/wine/documentation/ioport-trace-hints
-lib/wine/documentation/lables-and-serial-nubers
 lib/wine/documentation/no-windows
 lib/wine/documentation/printing
 lib/wine/documentation/psdriver
--- /dev/null	Tue Apr 25 23:10:37 2000
+++ patches/patch-aa	Tue Apr 25 22:20:10 2000
@@ -0,0 +1,28 @@
+--- configure	Sun Mar 26 15:25:23 2000
++++ configure.new	Tue Apr 25 22:20:06 2000
+@@ -4246,7 +4246,7 @@
+   fi
+ fi
+ 
+-
++if false; then
+ echo $ac_n "checking "whether external symbols need an underscore prefix"""... $ac_c" 1>&6
+ echo "configure:4252: checking "whether external symbols need an underscore prefix"" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_extern_prefix'+set}'`\" = set"; then
+@@ -4289,7 +4289,6 @@
+ 
+ fi
+ 
+-
+ echo $ac_n "checking "whether assembler accepts .string"""... $ac_c" 1>&6
+ echo "configure:4295: checking "whether assembler accepts .string"" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_asm_string'+set}'`\" = set"; then
+@@ -4329,7 +4328,7 @@
+ EOF
+ 
+ fi
+-
++fi
+ 
+ LDSHARED=""
+ if test "$LIBEXT" = "so"
--- /dev/null	Tue Apr 25 23:10:37 2000
+++ patches/patch-ab	Tue Apr 25 22:27:13 2000
@@ -0,0 +1,10 @@
+--- include/dialog.h	Sun Apr 25 08:36:53 1999
++++ include/dialog.h.new	Tue Apr 25 22:26:54 2000
+@@ -43,6 +43,6 @@
+                                      BOOL win32Template, HWND owner,
+                                      DLGPROC16 dlgProc, LPARAM param,
+                                      WINDOWPROCTYPE procType );
+-extern INT DIALOG_DoDialogBox( HWND hwnd, HWND owner );
++extern INT DIALOG_DoDialogBox( HWND hwnd, HWND owner, BOOL iswin16 );
+ 
+ #endif  /* __WINE_DIALOG_H */
--- /dev/null	Tue Apr 25 23:10:37 2000
+++ patches/patch-ac	Tue Apr 25 22:43:45 2000
@@ -0,0 +1,11 @@
+--- dlls/commdlg/colordlg.c	Sat Mar 25 16:44:36 2000
++++ dlls/commdlg/colordlg.c.new	Tue Apr 25 22:43:34 2000
+@@ -110,7 +110,7 @@
+                                         lpChCol->hwndOwner,
+                                         (DLGPROC16)ColorDlgProc,
+                                         (DWORD)lpChCol, WIN_PROC_32A );
+-    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpChCol->hwndOwner);
++    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpChCol->hwndOwner,TRUE);
+     if (hDlgTmpl) FreeResource16( hDlgTmpl );
+ 
+     return bRet;
--- /dev/null	Tue Apr 25 23:10:37 2000
+++ patches/patch-fa	Tue Apr 25 22:54:14 2000
@@ -0,0 +1,20 @@
+--- dlls/commdlg/filedlg.c	Fri Feb 25 15:36:42 2000
++++ dlls/commdlg/filedlg.c.new	Tue Apr 25 22:52:53 2000
+@@ -253,7 +253,7 @@
+                                         lpofn->hwndOwner,
+                                         (DLGPROC16)FileOpenDlgProc,
+                                         ofn, WIN_PROC_32A );
+-    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner );
++    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner, TRUE );
+ 
+     if (str1)
+       {
+@@ -415,7 +415,7 @@
+                                         lpofn->hwndOwner,
+                                         (DLGPROC16)FileSaveDlgProc,
+                                         ofn, WIN_PROC_32A );
+-    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner );
++    if (hwndDialog) bRet = DIALOG_DoDialogBox( hwndDialog, lpofn->hwndOwner, TRUE );
+ 
+     if (str1)
+       {
--- /dev/null	Tue Apr 25 23:10:37 2000
+++ patches/patch-fb	Tue Apr 25 22:54:27 2000
@@ -0,0 +1,29 @@
+--- dlls/commdlg/fontdlg.c	Thu Feb 10 14:03:03 2000
++++ dlls/commdlg/fontdlg.c.new	Tue Apr 25 22:53:21 2000
+@@ -126,7 +126,7 @@
+                                         lpChFont->hwndOwner,
+                                         (DLGPROC16)FormatCharDlgProcA,
+                                         (DWORD)lpChFont, WIN_PROC_32A );
+-    if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner);
++    if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner, TRUE);
+     if (hDlgTmpl) FreeResource16( hDlgTmpl );
+     lpChFont->lpTemplateName=lpTemplateName;
+     FONT_LogFont32ATo16(cf32a.lpLogFont, 
+@@ -162,7 +162,7 @@
+     CF_ENABLETEMPLATEHANDLE)) FIXME(": unimplemented flag (ignored)\n");
+   hwndDialog = DIALOG_CreateIndirect(hInst, template, TRUE, lpChFont->hwndOwner,
+             (DLGPROC16)FormatCharDlgProcA, (LPARAM)lpChFont, WIN_PROC_32A );
+-  if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner);  
++  if (hwndDialog) bRet = DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner, TRUE);
+   return bRet;
+ }
+ 
+@@ -201,7 +201,7 @@
+   lpChFont->lpTemplateName=(LPWSTR)&cf32a;
+   hwndDialog=DIALOG_CreateIndirect(hInst, template, TRUE, lpChFont->hwndOwner,
+             (DLGPROC16)FormatCharDlgProcW, (LPARAM)lpChFont, WIN_PROC_32W );
+-  if (hwndDialog)bRet=DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner);  
++  if (hwndDialog)bRet=DIALOG_DoDialogBox(hwndDialog, lpChFont->hwndOwner, TRUE);
+   HeapFree(GetProcessHeap(), 0, cf32a.lpszStyle);
+   lpChFont->lpTemplateName=(LPWSTR)cf32a.lpTemplateName;
+   memcpy(lpChFont->lpLogFont, &lf32a, sizeof(CHOOSEFONTA));
--- /dev/null	Tue Apr 25 23:10:37 2000
+++ patches/patch-fc	Tue Apr 25 22:54:45 2000
@@ -0,0 +1,11 @@
+--- dlls/commdlg/printdlg.c	Thu Feb 10 14:03:03 2000
++++ dlls/commdlg/printdlg.c.new	Tue Apr 25 22:53:31 2000
+@@ -290,7 +290,7 @@
+             (DLGPROC16)PrintDlgProcA, (LPARAM)&PrintStructures, WIN_PROC_32A );
+         }
+     if (hwndDialog) 
+-        bRet = DIALOG_DoDialogBox(hwndDialog, lppd->hwndOwner);  
++        bRet = DIALOG_DoDialogBox(hwndDialog, lppd->hwndOwner, TRUE);
+      
+     /* free memory & resources
+      */   

--mojUlQ0s9EVzWg2t--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000425231300.D1683>