Wine-20040408 Results (so far) for MFC App

greensh at knology.net greensh at knology.net
Mon Apr 12 16:33:52 CDT 2004


Now it works very nicely... I spent Easter debugging most of the crashes I 
was  having due to the GUI menus (even in winders), from variables not 
freed, etc and now I cannot get it to crash...yet. I'm using MSVC6 for all 
the development under VMware 4.5.1.

The GUI code is completely MFC with 16 color bitmaps for resources and all 
underlying solver code, etc is C++/C. This code puts a P4 laptop and memory 
under moderate load when run... so it's a good test.

Below are the ONLY messages I get from Wine-20040408 when I run it from the 
command-line; wine sokoban.exe (then it opens the GUI) and then do many 
things with it; data file I/O, parsing many text files, GUI menus, clicks, 
etc. As you can see below the help file opens fine, but does not display 
text properly. I used Shalom Help (free) for winders (it works fine on winxp 
as I've tested).

Any ideas why these messages appear and how to prevent them? I can send app 
screenshots and provide code snippets. Below these is my entire wine config.

fixme:dc:LockWindowUpdate (0x10029), partial stub!
fixme:dc:LockWindowUpdate ((nil)), partial stub!
fixme:dc:LockWindowUpdate (0x10029), partial stub!
fixme:dc:LockWindowUpdate ((nil)), partial stub!
fixme:dc:LockWindowUpdate (0x10029), partial stub!
fixme:dc:LockWindowUpdate ((nil)), partial stub!
fixme:winhelp:HLPFILE_UncompressRLE Null length 2, next is 0
fixme:winhelp:HLPFILE_UncompressRLE Null length 2, next is 140
fixme:winhelp:HLPFILE_UncompressRLE Buffer X-flow: d(108628) instead of 
d(108640)
fixme:dc:LockWindowUpdate (0x10029), partial stub!
fixme:dc:LockWindowUpdate ((nil)), partial stub!
fixme:dc:LockWindowUpdate (0x10029), partial stub!
fixme:dc:LockWindowUpdate ((nil)), partial stub!
fixme:dc:LockWindowUpdate (0x10029), partial stub!
fixme:dc:LockWindowUpdate ((nil)), partial stub!
fixme:dc:LockWindowUpdate (0x10029), partial stub!
fixme:dc:LockWindowUpdate ((nil)), partial stub!

~/.wine/config:

[Drive C]
"Path" = "/home/greensh/.wine/c"
"Type" = "hd"

[Drive D]
"Path" = "/mnt/cdrw"
"Type" = "cdrom"
; make sure that device is correct and has proper permissions !
"Device" = "/dev/scd0"

[Drive E]
"Path" = "/tmp"
"Type" = "hd"

[Drive F]
"Path" = "/home/greensh"
"Type" = "hd"

[Drive Z]
"Path" = "/"
"Type" = "hd"

[wine]
"Windows" = "c:\\windows"
"System" = "c:\\windows\\system"
"Temp" = "e:\\"
"Path" = "c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\"
"Profile" = "c:\\windows\\Profiles\\Administrator"
"GraphicsDriver" = "x11drv"
;"ShowDirSymlinks" = "1"
;"ShowDotFiles" = "1"
"ShellLinker" = "wineshelllink"

# [wineconf]

[Version]
; Windows version to imitate (win95,win98,winme,nt351,nt40,win2k,winxp,
win2k3,win20,win30,win31)
;"Windows" = "win98"
; DOS version to imitate
;"DOS" = "6.22"

; Be careful here, wrong DllOverrides settings have the potential
; to pretty much kill your setup.
[DllOverrides]
; some dlls you may want to change
"oleaut32"     = "builtin, native"
"ole32"        = "builtin, native"
"comdlg32"     = "builtin, native"
"shell32"      = "builtin, native"
"shfolder"     = "builtin, native"
"shlwapi"      = "builtin, native"
"shdocvw"      = "builtin, native"
"advapi32"     = "builtin, native"
"msvcrt"       = "native, builtin"
"mciavi.drv"   = "native, builtin"
"mcianim.drv"  = "native, builtin"
"msi"          = "native, builtin"
; you can specify applications too
; this one will apply for all notepad.exe
;"*notepad.exe" = "native, builtin"
; this one will apply only for a particular file
;"C:\\windows\\regedit.exe" = "native, builtin"
; default for all other dlls
"*" = "builtin, native"

[x11drv]
; Number of colors to allocate from the system palette
"AllocSystemColors" = "100"
; Use a private color map
"PrivateColorMap" = "N"
; Favor correctness over speed in some graphics operations
"PerfectGraphics" = "N"
; Color depth to use on multi-depth screens
;;"ScreenDepth" = "16"
; Allow the window manager to manage created windows
"Managed" = "Y"
; Use a desktop window of 640x480 for Wine
;"Desktop" = "640x480"
; Use XFree86 DGA extension if present
; (make sure /dev/mem is accessible by you !)
"UseDGA" = "Y"
; Use XVidMode extension if present
"UseXVidMode" = "Y"
; Use XRandR extension if present
"UseXRandR" = "Y"
; Use the take focus protocol
"UseTakeFocus" = "Y"
; Enable DirectX mouse grab
"DXGrab" = "N"
; Create the desktop window with a double-buffered visual
; (useful to play OpenGL games)
"DesktopDoubleBuffered" = "N"
; Run in synchronous mode (useful for debugging X11 problems)
;;"Synchronous" = "Y"
;
; Use the Render extension to render client side fonts (default "Y")
;;"ClientSideWithRender" = "Y"
; Fallback on X core requests to render client side fonts (default "Y")
;;"ClientSideWithCore" = "Y"
; Set both of the previous two to "N" in order to force X11 server side 
fonts
;
; Anti-alias fonts if using the Render extension (default "Y")
;;"ClientSideAntiAliasWithRender" = "Y"
; Anti-alias fonts if using core requests fallback (default "Y")
;;"ClientSideAntiAliasWithCore" = "Y"
;

[fonts]
;Read the Fonts topic in the Wine User Guide before adding aliases
;See a couple of examples for russian users below
"Resolution" = "96"
"Default" = "-adobe-helvetica-"
"DefaultFixed" = "fixed"
"DefaultSerif" = "-adobe-times-"
"DefaultSansSerif" = "-adobe-helvetica-"

;; default TrueType fonts with russian koi8-r encoding
;"Default" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
;"DefaultFixed" = "-monotype-courier new-*-*-*--*-*-*-*-*-*-koi8-r"
;"DefaultSerif" = "-monotype-times new roman-*-*-*--*-*-*-*-*-*-koi8-r"
;"DefaultSansSerif" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
;; default cyrillic bitmap X fonts
;"Default" = "-cronyx-helvetica-"
;"DefaultFixed" = "fixed"
;"DefaultSerif" = "-cronyx-times-"
;"DefaultSansSerif" = "-cronyx-helvetica-"

; the TrueType font dirs you want to make accessible to wine
[FontDirs]
;"dir1" = "/usr/X11R6/lib/X11/fonts/TrueType"
;"dir2" = "/usr/share/fonts/truetype"
;"dir3" = "/usr/X11R6/lib/X11/fonts/TT"
;"dir4" = "/usr/share/fonts/TT"

[ppdev]
;; key:  io-base of the emulated port
;; value : parport-device{,timeout}
;; timeout for auto closing an open device ( not yet implemented)
;"378" = "/dev/parport0"
;"278" = "/dev/parport1"
;"3bc" = "/dev/parport2"

[spooler]
"FILE:" = "tmp.ps"
"LPT1:" = "|lpr"
"LPT2:" = "|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -"
"LPT3:" = "/dev/lp3"

[ports]
;"read"  = "0x779,0x379,0x280-0x2a0"
;"write" = "0x779,0x379,0x280-0x2a0"

[Debug]
;"RelayExclude" = "RtlEnterCriticalSection;RtlLeaveCriticalSection"
;"RelayInclude" = "user32.CreateWindowA"
;"RelayFromExclude" = "user32;x11drv"
;"RelayFromInclude" = "sol.exe"
;"SnoopExclude" = "RtlEnterCriticalSection;RtlLeaveCriticalSection"
;"SpyExclude" = "WM_SIZE;WM_TIMER;"

[registry]
;These are all booleans.  Y/y/T/t/1 are true, N/n/F/f/0 are false.
;Defaults are read all, write to Home
; Where to find the global registries
;"GlobalRegistryDir" = "/etc";
; Global registries (stored in /etc)
"LoadGlobalRegistryFiles" = "Y"
; Home registries (stored in ~user/.wine/)
"LoadHomeRegistryFiles" = "Y"
; Load Windows registries from the Windows directory
"LoadWindowsRegistryFiles" = "Y"
; TRY to write all changes to home registries
"WritetoHomeRegistryFiles" = "Y"
; Registry periodic save timeout in seconds
; "PeriodicSave" = "600"
; Save only modified keys
"SaveOnlyUpdatedKeys" = "Y"

[Clipboard]
"ClearAllSelections" = "0"
"PersistentSelection" = "1"
"UsePrimary" = "0"

; List of all directories directly contain .AFM files
[afmdirs]
"1" = "/usr/share/ghostscript/fonts"
"2" = "/usr/share/a2ps/afm"
"3" = "/usr/share/enscript"
"4" = "/usr/X11R6/lib/X11/fonts/Type1"

[WinMM]
; Uncomment the "Drivers" line matching your sound setting.

"Drivers" = "wineoss.drv"      ; default for most common configurations
;"Drivers" = "winearts.drv"    ; for KDE
;"Drivers" = "winealsa.drv"    ; for ALSA users
;"Drivers" = "winejack.drv"    ; for Jack sound server
;"Drivers" = "winenas.drv"     ; for NAS sound system
;"Drivers" = "wineaudioio.drv" ; for Solaris machines
;"Drivers" = ""                ; to disable sound
"WaveMapper" = "msacm.drv"
"MidiMapper" = "midimap.drv"

[dsound]
;; HEL only: Number of waveOut fragments ahead to mix in new buffers.
;"HELmargin" = "5"
;; HEL only: Number of waveOut fragments ahead to queue to driver.
;"HELqueue" = "5"
;; Max number of fragments to prebuffer
;"SndQueueMax" = "28"
;; Min number of fragments to prebuffer
;"SndQueueMin" = "12"
;; Forces emulation mode (using wave api)
;"HardwareAcceleration" = "Emulation"
;; Sets default playback device (0 - number of devices - 1)
;"DefaultPlayback" = "0"	; use first device (/dev/dsp)
;"DefaultPlayback" = "1" 	; use second device (/dev/dsp1)
;"DefaultPlayback" = "2" 	; use third device (/dev/dsp2)
;; Sets default capture device (0 - number of devices - 1)
;"DefaultCapture" = "0"		; use first device (/dev/dsp)
;"DefaultCapture" = "1"		; use second device (/dev/dsp1)
;"DefaultCapture" = "2"		; use third device (/dev/dsp2)

[Network]
;; Use the DNS (Unix) host name always as NetBIOS "ComputerName" (boolean, 
default "Y").
;; Set to N if you need a persistent NetBIOS ComputerName that possibly 
differs 
;; from the Unix host name. You'll need to set ComputerName in 
;; 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerNam
e, too.
;"UseDnsComputerName" = "N"

;; sample AppDefaults entries

; 3 InstallShield versions who like to put their full screen window in 
front,
; without any chance to switch to another X11 application.
; So just catch them in a desktop window.

[AppDefaults\\_INS0432._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS0466._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS0576._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS5176._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS5576._MP\\x11drv]
"Desktop" = "640x480"

;[AppDefaults\\iexplore.exe\\DllOverrides]
;"shlwapi" = "native"
;"rpcrt4" = "native"
;"ole32" = "native"
;"shdocvw" = "native"
;"wininet" = "native"
;"shfolder" = "native"
;"shell32" = "native"
;"shell" = "native"
;"comctl32" = "native"
;
;[AppDefaults\\setup.exe\\x11drv]
;"Desktop" = "800x600"
;
;[AppDefaults\\sol.exe\\Version]
;"Windows" = "nt40"
;
;; Some games (Quake 2, UT) refuse to accept emulated dsound devices.
;; You can add an AppDefault entry like this for such cases.
;[AppDefaults\\pickygame.exe\\dsound]
;"EmulDriver" = "N"

# [/wineconf]





More information about the wine-devel mailing list