The Windows api method uses the function call IDvdInfo2::GetDiscID
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c…
This returns a unique 64bit ID for a DVD.
Has anyone found out what exactly it does to create this 64bit ID.
It would be nice to get linux DVD players to be able to use the same method.
Cheers
James
( I have posted a similiar question in wine-users,
don't flame me for doing so, just thinking about this
some more, perhaps it may be more a developer question
)
Ok, I have a windows app, that runs under wine fine -
not quite. This app has a form, with many text field
edit boxes on. Quite often these edit boxes already
have text values, ie. they are not empty - there is a
database behind the form.
Anyway, the form shows on the screen, but the text
within the edit fields is invisible, until you
activate each edit box component. When you leave one
edit box to the next, the text remains visible.
It seems like the repainting is not working, on
initial startup of the form.
As a way to debug this database app ( I don't have the
source code for it ) I wrote a real basic form app in
Visual Studio, with two edit boxes, with data in each.
Now this basic app shows the text values immediately
on startup. So there must be something different that
the database app is not doing.
I then ran wine using 'wine --debugmsg +edit
programname' for both app's.
I see both logging 'Creating ANSI edit control, style
= xxxxx'
but the style reference is different between apps - I
am not sure if this the cause or not.
The problem app reports style = 54011104 and the basic
app shows style = 50010080.
Can somebody explain what this style reference means
and how do I force an app to use a certain style of
edit box ?
What other wine class debugmsg types should I use to
narrow down the source of this problem ?
Is there anyway I can check to see how the database
app is repainting text within the text edit components
?
Regards
Doug Herbert.
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
>> I'm just wondering if it is supposed to work as well as FreeBSD stable.
Right now, Wine doesn't work at all on FreeBSD -STABLE:
wine: failed to initialize: /swtest/wine/dlls/ntdll.dll.so: mmap of
entire address space failed: Cannot allocate memory
and before that I used to see deadlocks upon startup of non-trivial
applications (such as Forte Agent, both 16bit and 32bit flavors).
I believe there are also signficant threadings issues on -CURRENT, so
overall Wine is hardly, if at all, usable on any version of FreeBSD I
have access to, even though I'm still working to keep it at least
compilable on FreeBSD 4.9 and 5.2/5.3.
Gerald
--
Gerald Pfeifer (Jerry) gerald(a)pfeifer.com http://www.pfeifer.com/gerald/
Hallo,
I sent a patch to prevent wine from crashing last friday. It happend, when
DRIVER_FindFromHDrvr returned NULL. No I found out, that I had sent that
patch before last year. Eric answered
> this doesn't seem right to me: either the loading fails and we shouldn't
> get a valid handle, or it succeeds and we should be able to find it
> there's must be something wrong elsewhere
> could you please send a -debugmsg +driver,+module,+winmm to see what
> happens ?
and like before, I can't reproduce the error after reverting the patch:
> the error no longer exists. I guess some registry entry was corrupt and a
> successfull run corrected it later.
>
> However I see a lot of check after DRIVER_FindFromHDrvr() in other parts of
> the code...
If one dose "grep -3 DRIVER_FindFromHDrvr wine/dlls/winmm/*", every other
usage of DRIVER_FindFromHDrvr is like if
((lpDrv = DRIVER_FindFromHDrvr(hDrvr)) != NULL)
Why should expecting a NULL return be wrong? It happens, as the the crashes
show.
Bye
--
Uwe Bonnes bon(a)elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Hi people,
I think I discovered a wine bug.
In a delphi program, changing the visibility of a menuitem (TMenuItem)
causes the whole menu of that form to stop working, when the program is
run under Wine.
Behind the screens, the setVisible of a menu item calls MenuChanged.
This seems to put the menu in such a state that, in wine, all menu
components stop doing anything.
I've written a small application (455 kb EXE) to show what goes wrong.
Would anybody be interested to help me in solving this bug? Would a
message trace from Winsight (for example) be of any help?
Greetings,
Robert
I'm thinking how to implement CreateRemoteThread and besides fix memory management functions.
The complete (afaik) list includes:
RtlCreateUserThread
NtAllocateVirtualMemory
NtFreeVirtualMemory
NtProtectVirtualMemory
NtQueryVirtualMemory
NtLockVirtualMemory (do nothing?)
NtUnlockVirtualMemory (do nothing?)
NtFlushVirtualMemory
NtMapViewOfSection
NtUnmapViewOfSection
Suggested implementation.
Let's add two groups of handlers to the wineserver, something like remote_operation_xxxx
and remote_operation_xxxx_complete.
remote_operation should do the following:
1) suspend_for_ptrace();
2) inject a piece of code into required process and start its execution;
3) resume_after_ptrace();
4) place calling thread into suspended state (or into some wait state?)
remote_operation_complete should prepare reply and resume thread suspended by remote_operation.
Injected code should call required function and then remote_operation_complete
in context of required process.
The question is: how to correctly get address of function?
imho possible solutions are:
1) assume ntdll loaded at the same address for all processes -- unreliable;
2) get dll base address from per-process dll list and parse ELF by hand -- too complicated (?);
3) pass relative offsets and add them later to the ntdll's base address -- unreliable
a bit: ntdll may be replaced, although, it is unlikely;
4) extend the struct process (server/process.h) and the request init_process with
pointers to required functions -- most reliable and simple but looks ugly.
What do you think?
This is getting to be a common request. I think what I am going to do is
make a script that tars up the appdb every night and puts it up for
download. The only table it will not dump will be the userdb, for
privacy reasons. I'll email you all again when I have something whipped
up.
On Thu, 2004-06-24 at 18:12, Joel Konkle-Parker wrote:
> I'm trying to set up a copy of appdb on localhost to play with (and
> hopefully use as a base for patches for you guys). Do you think I could
> get a dump of the apps tables so that I can have a good set to test with?
--
_ _ WebGeek/SysAdmin CodeWeavers -= http://www.codeweavers.com
| \| |_____ __ ___ __ __ _ _ _ -= http://www.dracowulf.com
| .` / -_) | | / ' \/ _` | ' \ -= mailto:[email protected]
|_|\_\___|\_/\_/|_|_|_\__,_|_||_| -= ICQ: 1711553 Yahoo: laxdragon
"George Marshall" <g.marshall(a)nospam.com> wrote:
> > Does reverting of the following patch help?
>
> Yes it does make the application work as it did before
> the June Release :-)
Do you have a small application I could test with?
--
Dmitry.
I went to a yard sale today, and that's always dangerous.
Today I ended up buying a copy of Lotus SmartSuite '96.
I then installed Wine-20040615.tar.gz and tried installing my new disc with
$ wine d:\\install.exe
It got all confused, started iterating through every file underneath my
home directory, and printed out
err:shell:SHGetFileInfoW pidl is null!
for each one!
On a hunch, I made my home directory look empty,
$ mkdir .blort
$ mv * .blort
$ wine d:\\install.exe
That seemed much better; Wine only printed out the SHGetFileInfoW error
once, presumably for the lotustmp.000 directory it created in my home
directory.
The next problem was when a dialog box
"Select a Program Group..."
popped up. At about the same time, an error box with title
"Setup Message" and body
"Setup has encountered a problem.
Please report File='COMMON\SYMTAB11.C',Line='618' to Microsoft
Product Support Services."
This looks a bit lot like
http://support.microsoft.com/default.aspx?scid=kb;EN-US;113252
which happens when GetWindowsDirectory() returns a string with lowercase letters,
but clicking OK let me past with no ill affects, and I was able to install.
At least when all I installed was Word Pro.
When I also tried installing 1-2-3 and ScreenCam, I
got the error "Lotus Setup" : "Install encountered an error trying to start Regedit.exe."
That popped up twice, after which install thought for a long time, then warned
fixme:ole:CoCreateInstance no classfactory created for CLSID {00021401-0000-0000-c000-000000000046}, hres is 0x80040154
and seemed to get stuck. Still, things seemed to be more or less well installed,
so I tried running two of the apps.
$ cd c/lotus/123/programs
$ wine 123w.exe
worked quite nicely. (Well, it did say the date was 6/17/104, but nobody's perfect!)
Next I tried Word Pro:
$ cd ~/.wine/c/lotus/wordpro
$ wine wordpro.exe
That failed immediately, so quickly that
WINEDEBUG=+all wine wordpro.exe
was practical to run. Here's part of its output. It looks as if
the very first instruction accesses a null pointer in a strange
way.
0009:Starting process L"C:\\lotus\\wordpro\\wordpro.exe" (entryproc=0x7a6aee)
0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x7a6aee
0009:trace:seh:EXC_RtlRaiseException info[0]=00000001
0009:trace:seh:EXC_RtlRaiseException info[1]=00000000
0009:trace:seh:EXC_RtlRaiseException eax=00000000 ebx=403f1668 ecx=400c0be8 edx=400c0c37 esi=400c1000 edi=007a6aee
0009:trace:seh:EXC_RtlRaiseException ebp=4070fff4 esp=4070ff30 cs=0023 ds=002b es=002b fs=003b gs=0033 flags=00010246
0009:trace:seh:EXC_CallHandler calling handler at 0x403e1708 code=c0000005 flags=0
0009:Call ntdll.NtQueryVirtualMemory(ffffffff,00000000,00000000,4070fac0,0000001c,4070fa84) ret=4037aeb8
0009:Ret ntdll.NtQueryVirtualMemory() retval=00000000 ret=4037aeb8
0009:Call ntdll.RtlImageDirectoryEntryToData(00000000,00000001,00000002,4070fabc) ret=4033fbbe
0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x40091368
0009:trace:seh:EXC_RtlRaiseException info[0]=00000000
0009:trace:seh:EXC_RtlRaiseException info[1]=00000000
0009:trace:seh:EXC_RtlRaiseException eax=00000000 ebx=400beec4 ecx=00000001 edx=00000000 esi=00000000 edi=00000002
0009:trace:seh:EXC_RtlRaiseException ebp=4070f9e4 esp=4070f928 cs=0023 ds=002b es=002b fs=003b gs=0033 flags=00010246
0009:trace:seh:EXC_CallHandler calling handler at 0x40089948 code=c0000005 flags=0
0009:trace:seh:EXC_RtlUnwind code=c0000005 flags=2
0009:trace:seh:EXC_CallHandler calling handler at 0x40088fc0 code=c0000005 flags=2
0009:trace:seh:EXC_CallHandler handler returned 1
0009:Ret ntdll.RtlImageDirectoryEntryToData() retval=00000000 ret=4033fbbe
0009:Call ntdll.NtCreateEvent(4070fac0,001f0003,4070fac4,00000001,00000000) ret=4033f836
0009:Ret ntdll.NtCreateEvent() retval=00000000 ret=4033f836
wine: Unhandled exception (thread 0009), starting debugger...
...
Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x007a6aee).
In 32 bit mode.
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:003b GS:0033
EIP:007a6aee ESP:4070ff30 EBP:4070fff4 EFLAGS:00010246( - 00 -RIZP1)
EAX:00000000 EBX:403f1668 ECX:400c0be8 EDX:400c0c37
ESI:400c1000 EDI:007a6aee
Stack dump:
0x00000000: 00000000 00000000 00000000 00000000
0x00000010: 00000000 00000000 00000000 00000000
0x00000020: 00000000 00000000 00000000 00000000
0x00000030: 00000000 00000000 00000000 00000000
0x00000040: 00000000 00000000 00000000 00000000
0x00000050: 00000000 00000000 00000000 00000000
0x00000060:
Backtrace:
=>1 0x007a6aee (0x4070fff4)
2 0x4002e83d (0x00000000)
0x007a6aee: addb %al,0x0(%eax)
Modules:
0x40070000-400c2000 Deferred ntdll
0x40320000-403f3000 Deferred kernel32
0x00400000-00888000 --none-- wordpro
0x402f0000-403f3000 Deferred kernel32<elf>
0x40019000-40025000 Deferred libnss_files.so.2
0x401b5000-401d7000 Deferred libm.so.6
0x400c2000-401b5000 Deferred libwine_unicode.so.1
0x40053000-400c2000 Deferred ntdll<elf>
0x40000000-40016000 Deferred ld-linux.so.2
0x4004f000-40052000 Deferred libdl.so.2
0x420155f0-841485f0 Deferred libc.so.6
0x40042000-4004f000 Deferred libpthread.so.0
0x4002a000-40042000 Sym libwine.so.1
0x420155f0-841485f0 Deferred libc.so.6
Module Address Debug info Name (14 modules)
PE 0x00400000-00888000 --none-- wordpro
ELF 0x40000000-40016000 Deferred ld-linux.so.2
ELF 0x40019000-40025000 Deferred libnss_files.so.2
ELF 0x4002a000-40042000 Sym libwine.so.1
ELF 0x40042000-4004f000 Deferred libpthread.so.0
ELF 0x4004f000-40052000 Deferred libdl.so.2
ELF 0x40053000-400c2000 Deferred ntdll<elf>
\-PE 0x40070000-400c2000 Deferred ntdll
ELF 0x400c2000-401b5000 Deferred libwine_unicode.so.1
ELF 0x401b5000-401d7000 Deferred libm.so.6
ELF 0x402f0000-403f3000 Deferred kernel32<elf>
\-PE 0x40320000-403f3000 Deferred kernel32
ELF 0x420155f0-841485f0 Deferred libc.so.6
ELF 0x420155f0-841485f0 Deferred libc.so.6
Threads:
process tid prio (all id:s are in hex)
0000000b (D) C:\lotus\wordpro\wordpro.exe
00000009 0 <==
00000010
00000011 0
WineDbg terminated on pid 0xb
So I guess I got a couple hours worth of entertainment out of
my $5, and I can now run Lotus 1-2-3 if I feel like it.
Cool.
- Dan
--
My technical stuff: http://kegel.com
My politics: see http://www.misleader.org for examples of why I'm for regime change
With thepatch [1] I am getting some this line from Wine:
err:wave:OSS_RawOpenDevice ioctl(/dev/dsp, SNDCTL_DSP_SETDUPLEX) failed (Input/output error)
Yes, my soundcard doesn't support full duplex, I believe (I have OPTi
82c931 chip with mad16 driver running here).
But shouldn't the type of the message be WARN or TRACE instead of ERR
then?
[1] http://cvs.winehq.org/patch.py?id=12636