Dear wine developers,
I have one question on the development of wine. Long(one or
two years) ago I've heard that Microsoft got some hidden
APIs in their products of various windows, and they use
these APIs in their own applications. I wonder if this is
still a problem on their recent product like windows XP. If
it is, I guess wine will not be able to run such MS
applications which uses hidden APIs. Is this right?
And, is wine designed(or its goal is) to run all
applications(including MS product and non-MS product) that
runs on windows?
Please forgive me if this problem has appeared in the
past. I just joined this list a couple of days ago.
Thank you.
Regards,
--
Zhang Shu
I just played around with Thandor trying to install it and see what the
differences are between Win98 and Wine because I noticed a slightly different
behaviour. Now I discovered that MoveFileEx is not even available in Windows
98 but wine supplies it nevertheless. I suspect that the Setup doesn't check
the windows version, but rather calls MoveFileEx and if that fails with not
implemented returncode continues with other code to supply the functionality.
I wrote a small test app to confirm this and this returns an error code when
calling MoveFileEx on a native win98 whiel wine executes it.
How shall I fix this? Shall I simply call GetVersion() to determine if
MoveFileEx should be allowed or is there a different way with wine to
determine which functions are available for which version (a global variable
or such)? I looked through the sources but I couldn't find anywhere something
where a versioncheck has been used to switch code but then again I don't know
much functions where I know for sure that they are available in one version
and not in the other.
--
Bye,
Gerhard
If you think education is expensive, try ignorance.
hi,
I have a program that use the CreateProcess API with dwFileAttribute as a
parameter. But not to use in the command line. It's used to write some data
into a file and then another program read that file. But this isn't working.
I'm not a programmer, I'm just testing the program. Does anybody know how
can the program be changed, or wine patched, to solve this?
thanks,
Ricardo
I just wrote a fix for a fixme located in MoveFileExA. Since this is the first
time I'm writing something for wine I wanted to ask how I shall proceed now.
Shall I simply add it into the CVS or does it have to go somewhere for
revision?
Also I don't want to submit it right now because my current fix is a bit ugly.
The fix is applied for files that should be moved or deleted when windows
boots after an application is installed. Currently there was a message telling
the user that he has to delete/rename the specified files. Now I added some
code that writes an entry in (WINECONFIG)/bootmove and (WINECONFIG)/bootdel
when these functions are called. I also added some code in loader/main.c that
checks if these files exists and if they do it will open them and
deletes/renames the specified files. I hope this solution is acceptable. :)
The only ugly thing about this is that the filenames for bootmove and bootdel
are curerntly hardcoded where I need them. I don't know if there is a global
space somewhere where I can add some fixed names so I did it this way for now,
but this is not the best way in case the names should be changed or something
and also I don't like hardecoded names.
Another drawback of this approach is that it would be possible that more than
one process is writing or reading at the same time there could be potential
problems, so I'd like to hear some opinions if this is ok.
--
Bye,
Gerhard
If you think education is expensive, try ignorance.
Bernhard Rosenkraenzer <bero(a)redhat.de> writes:
> wine currently doesn't support the DESTDIR flag commonly used by
> packagers. The patch I've attached fixes this.
Could you explain this a bit more? Why can't you use the existing
$prefix to do the same thing?
--
Alexandre Julliard
julliard(a)winehq.com
On Sun, 27 Jan 2002, Ori Pessach wrote:
> On Sunday 27 January 2002 11:22, Ove Kaaven wrote:
> > On Sat, 26 Jan 2002, Ori Pessach wrote:
> > > FALSE for those windows. Are there any other types of windows that
> > > shouldn't be managed?
> >
> > Yes, Alexandre mentions popup menus and tooltips. Perhaps a chart could be
> > made, so that it is possible to work out what conditions should be used to
> > decide whether to make a window managed...
>
> Yep... Managed tooltips look silly. In any case, unmanaged windows behave
> badly, and I don't see any reason to use unmanaged windows when Wine is
> running in managed mode.
>
> Does anybody know how X toolkits display tooltips, popup menus, etc.?
I looked at the GTK+ sources before creating that patch... for popup
windows like menus and tooltips and stuff, GTK+ sets the override-redirect
window attribute, which causes the window to become unmanaged. Effectively
the same as Wine does.
> I would think that when running managed Wine, all window should be
> managed, and the distinction should be between decorationless windows
> and everything else, not managed windows and everything else.
>
> If nobody else wants to dig into this, I'll probably take a shot at it.
Go ahead.
Guys,
I've come to _hate_ diffs attached as Application/OCTET-STREAM. Can you
please, Please, PLEASE, attach them as Text/PLAIN?
I use Pine over a ssh connection to read wine-{devel,patches}, and I can
simply view the Text/PLAIN attachments, whereas I have to:
-- press V to view the list of attachments
-- select the attachment I want to view
-- press S to save it to disk
-- exit Pine
-- start vi to actually view the thing
-- restart pine...
Just to view a Application/OCTET-STREAM attachment.
Which means 2 things:
-- I get frustrated (and look what happens when I do:))
-- I simply ignore those patches
For all these reasons (and more), I think Linus is right when he insists on:
-- ONE patch per email
-- ONLY Text/PLAIN attachments.
--
Dimi.
I just wrote a small up to test the behaviour of WritePrivateProfileSection.
This confirmed my suspicion that the wine implementation is wrong because on
Win98 I can create multiple keys with the same name when using this function,
while wine always substitutes the new value if the key already exists. If
nobody is working on that, then I'll fix this first before continuing with the
boot process.
--
Bye,
Gerhard
If you think education is expensive, try ignorance.
>>>>> "Aric" == Aric Stewart <aric(a)codeweavers.com> writes:
Aric> This is a bit of a cover to help find other problems, but we would
Aric> crash if trying to sort a treeview with null strings in it. This
Aric> prevents this crash so that one can try to figure out why we have
Aric> empty strings.
Aric> CHANGELOG: prevent crash on sorting treeview with null strings
Aric> - return strcasecmp(first->pszText, second->pszText); + if
Aric> (first->pszText && second->pszText) + return
Aric> strcasecmp(first->pszText, second->pszText); + else if
Aric> (first->pszText) + return -1; + else if (second->pszText) + return
Aric> 1; + else + return 0; }
Should this fail silently?
Bye
--
Uwe Bonnes bon(a)elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Patrik Stridvall <ps(a)leissner.se> writes:
> All of the forms:
>
> (1) void WINAPI (*foo)(void);
> (2) void (* WINAPI foo)(void);
> (3) void (WINAPI *foo)(void);
>
> Seems to work with gcc. Even with gcc 2.7.x.
I believe the problems were rather with g++. In my 2.95.4 version,
case (2) still doesn't work (well it compiles but generates wrong
code). Case (3) works though, so that sounds like the way to go, I'll
apply your patch.
--
Alexandre Julliard
julliard(a)winehq.com