Re: Fix comctl32 tests

2003-09-02 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 ChangeLog
 DPA_Create is exported by ordinal only, do not import it by name.

That shouldn't be necessary, it's automatically handled when resolving
the import. That's probably a bug in the mingw import library.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: faq merge #2 -- Alexandre please look over the first patch :)

2003-09-02 Thread Alexandre Julliard
Tom [EMAIL PROTECTED] writes:

 changelog

 merge from lostwages faq

It doesn't build here, that's because of the '' in the rpmseek.com
URL, I'm not sure what's the correct way to escape that:

documentation/faq.sgml:1386:93:E: general entity cx not defined and no default entity
documentation/faq.sgml:1781:26:E: an attribute value must be a literal unless it 
contains only name characters
documentation/faq.sgml:1781:61:E: end tag for element A which is not open
documentation/faq.sgml:1786:14:E: end tag for ULINK omitted, but its declaration 
does not permit this

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Janitorial: Include statements should use instead of

2003-09-02 Thread Alexandre Julliard
Andrey Warkentin [EMAIL PROTECTED] writes:

 Currently done: wine/controls/* and wine/dlls/gdi/* (with the
 exception of wine/dlls/gdi/tests/generated.c)

 ChangeLog
   Include statements use  instead of  in files in wine/controls
 and wine/dlls/gdi

This was discussed already, there's no reason to change the C files,
only the headers actually matter (and these are fixed now).

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Move Wine internal headers

2003-09-02 Thread Alexandre Julliard
Vincent Béron [EMAIL PROTECTED] writes:

 Changelog:
 Move the Wine internal headers to includedir/wine/wine rather than
 includedir/wine.

Why do you want to do that?

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Move Wine internal headers

2003-09-02 Thread Alexandre Julliard
Vincent Béron [EMAIL PROTECTED] writes:

 winegcc doesn't include eg /usr/include, so the headers referencing
 internal ones (mostly OLE related) fail. I thought it was cleaner to
 move wine internal stuff than to break down the includedir variable in
 Makefile to get to the parent of /usr/include/wine, ie /usr/include.

OK, I see. I think the idea with winegcc at this point is that if you
install Wine in a non-standard directory, you have to specify the
include path yourself, just like you need to ensure the Wine tools are
in your PATH. Besides, this shouldn't be an issue once the standard
includes are fixed to no longer reference the wine/obj_* ones.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Move Wine internal headers

2003-09-02 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 I was also thinking about submitting a patch to move any of the *16 headers and 
 internal headers
 that dont exist in the PSDK to include/wine. Is this ok?

The 16-bit headers should already be in include/wine; if we have
missed some then sure it's ok to move them. The internal headers will
be removed, and in the meantime I think it's best to keep them where
they are.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: LoadModule16 regression?

2003-08-30 Thread Alexandre Julliard
Jukka Heinonen [EMAIL PROTECTED] writes:

 MSDN documentation on Win32 version of LoadModule states
 that path should not be stripped but I'm not sure how Win16
 version is supposed to work. It probably uses different 
 search order if path is not present, anyway.

Yes, Win16 is somewhat different, the module path is stripped and only
the base name is used when looking for an existing module. But of
course we should only strip the full path after the file has been
opened... this should fix it:

Index: dlls/kernel/ne_module.c
===
RCS file: /home/winehq/opt/cvs-commit/wine/dlls/kernel/ne_module.c,v
retrieving revision 1.5
diff -u -p -r1.5 ne_module.c
--- dlls/kernel/ne_module.c 27 Aug 2003 03:16:56 -  1.5
+++ dlls/kernel/ne_module.c 30 Aug 2003 18:37:13 -
@@ -1162,22 +1162,23 @@ static HINSTANCE16 MODULE_LoadModule16( 
 enum loadorder_type loadorder[LOADORDER_NTYPES];
 int i;
 const char *filetype = ;
-const char *ptr;
+const char *ptr, *basename;
 
 /* strip path information */
 
-if (libname[0]  libname[1] == ':') libname += 2;  /* strip drive specification 
*/
-if ((ptr = strrchr( libname, '\\' ))) libname = ptr + 1;
-if ((ptr = strrchr( libname, '/' ))) libname = ptr + 1;
+basename = libname;
+if (basename[0]  basename[1] == ':') basename += 2;  /* strip drive 
specification */
+if ((ptr = strrchr( basename, '\\' ))) basename = ptr + 1;
+if ((ptr = strrchr( basename, '/' ))) basename = ptr + 1;
 
-if (is_builtin_present(libname))
+if (is_builtin_present(basename))
 {
-TRACE( forcing loadorder to builtin for %s\n, debugstr_a(libname) );
+TRACE( forcing loadorder to builtin for %s\n, debugstr_a(basename) );
 /* force builtin loadorder since the dll is already in memory */
 loadorder[0] = LOADORDER_BI;
 loadorder[1] = LOADORDER_INVALID;
 }
-else MODULE_GetLoadOrder(loadorder, libname, FALSE);
+else MODULE_GetLoadOrder(loadorder, basename, FALSE);
 
 for(i = 0; i  LOADORDER_NTYPES; i++)
 {

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: patch for non x86 specific code in BuildSpec16File.

2003-08-28 Thread Alexandre Julliard
[EMAIL PROTECTED] writes:

 (See attached file: patch_spec16_x86_specific)

Why do you want to do that?  It will generate a lot of functions that
will never be used.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Allow use of MAP_TRYFIXED for better mmap()

2003-08-28 Thread Alexandre Julliard
Todd Vierling [EMAIL PROTECTED] writes:

 I have a feeling we're just on different mental wavelengths here.
 MAP_TRYFIXED is not an optional feature.  If the #define exists, the feature
 exists -- for the OS version used to compile, and all later versions.

You are still thinking only about source distributions. The problem is
when you want to ship a binary: the only way to build a binary that
works for everybody is to build it on an old OS version; that's the
way it is on all systems (it's the same way on Linux, at least WRT
libc).

Then, since you built that binary on an old OS, it will not use
MAP_TRYFIXED, no matter what kernel it runs on. Basically you have to
sacrifice performance to gain portability; even if 99% of your users
have a new kernel, your binary still cannot take advantage of that.
With a run-time check you don't have to sacrifice anything, the binary
is still portable everywhere, but can also use MAP_TRYFIXED for better
performance if it exists in the running kernel.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Allow use of MAP_TRYFIXED for better mmap()

2003-08-28 Thread Alexandre Julliard
Jon Bright [EMAIL PROTECTED] writes:

 Except that if you build it on a machine which knows about
 MAP_TRYFIXED at all, the resulting binary's not likely to run on older
 machines...

You don't need the machine to know about it, that's the whole
point. Of course that means you need to define the symbol yourself
if it's not defined already.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Allow use of MAP_TRYFIXED for better mmap()

2003-08-28 Thread Alexandre Julliard
Todd Vierling [EMAIL PROTECTED] writes:

 You have to bend over backwards to do the runtime check, and you sacrifice
 *maintainability* with the extra normally-dead code added to Wine.  I don't
 see a need to jump through extra hoops in this case.

I think that run-time checks are more maintainable that compile-time
checks, since it means the code gets exercised on all machines, so if
you break it it gets noticed at once. If you break something that's
inside a rarely used #ifdef block you may not find the problem until 6
months later. It's also a lot easier to follow the code if you don't
have to wonder which parts of it are actually compiled in.

Anyway it doesn't really matter for that specific issue, if you don't
feel the performance gain is worth the trouble that's your call. I was
just raising a general point that checking run-time features with
#ifdef is not a good idea, no matter how much autoconf encourages that
style.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Allow use of MAP_TRYFIXED for better mmap()

2003-08-28 Thread Alexandre Julliard
Todd Vierling [EMAIL PROTECTED] writes:

 I definitely don't want to reproduce apt-to-change parts of the OS in an
 application just because it *might* be built on an earlier version of that
 OS.  If an app is built on the earlier OS version, the user should expect to
 be missing features.  Unix users accept this as a fact of life.

But like it or not, this is changing. Maybe not for NetBSD yet, but
there are many people at least on Linux who are not primarily Unix
users, and who want things to work without having to mess with
configure or upgrading system headers. This is doubly true for Wine,
since real Unix users don't need Windows apps, our primary audience
is Windows users who are used to downloading binaries that just
work. And so we have a responsibility to make sure that it's the case
for them, even if it means departing from the One True Unix Way.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [winecfg 1.1] Implement saveConfigValue(), style changes, codecleanup, UI alignment

2003-08-28 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 Keeping these 3 task separate does not mean they will be lost
 and forgoten -- I volunteer to keep track of them independently.
 In fact, we'll get more work done this way, because different
 people enjoy working on different bits. Defining exactly what
 we want winecfg to do will help Mike get the job done faster.
 Defining explicitly and granularly the paramter cleanup tasks
 will allow others (not interested in winecfg work) pick up
 pieces and run with them.

Sure, they are separate tasks, it's more an issue of in which order we
do things. If we are going to change things in the config tree, then
it's a lot easier to do before winecfg is used, otherwise we need to
add a lot of backwards compatibility code in there; so I think
throwing the switch for winecfg should be one of the last things we
do, once the rest is at least well under way. That doesn't prevent
working on winecfg, we can do at least 95% of it without having to
make it edit the primary config tree.

Also once the config is in the registry it becomes inconvenient to
modify by hand, so it implies we first need write support in regedit,
and a working default configuration so that regedit/winecfg can
actually start without requiring config changes.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [winecfg 1.1] Implement saveConfigValue(), style changes, codecleanup, UI alignment

2003-08-28 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 What kind of backwards compatibility code are you afraid we're going to need?

Well, if when cleaning things up we find out that some key should be
moved/renamed/using a different syntax, then we need to have winecfg
deal with both formats and be able to convert back and forth; while
right now we can just say edit your config and change this.
Basically, it's easier to break things before people get used to
having a nice interface that does everything for them ;-)

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [winecfg 1.1] Implement saveConfigValue(), style changes, codecleanup, UI alignment

2003-08-28 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 If we want to do that, it's worth deciding now, as it affects how
 winecfg operates. At the moment changes to the GUI are moved to and fro
 the structure in bulk, then the struct is saved to the registry, again
 in bulk. That lets us do OK/Cancel. If we want instant apply, that
 complicates things.

It should definitely be possible to apply a subset of changes; we
don't want to rewrite the full config everytime a change is made. If I
toggle the managed flag for instance I expect that specific key to
be written to the registry, nothing else. Yes, it will complicate the
implementation a bit...

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [winecfg 1] Implement saveConfigValue(), style changes, codecleanup, UI alignment

2003-08-27 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 - Change registry key used to WineHQ\Wine

Is that so that you can test the code?  In that case Wine\WineCfg
would be preferable I think.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [winecfg 1] Implement saveConfigValue(), style changes, codecleanup, UI alignment

2003-08-27 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 The idea was:

 - many parts of Wine may want to store settings in that part of the
 registry, not just the main emulation engine. So, winemine, notepad,
 other various apps etc.
 - The standard on Windows seems to be Vendor\Product. 

That's what we do, the vendor is Wine followed by the app name. At
least winemine and winedbg use that already.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: make crosstest working again

2003-08-27 Thread Alexandre Julliard
Jakob Eriksson [EMAIL PROTECTED] writes:

 This patch makes make crosstest work again.
 I made it work by correcting incorrect linking options for some tests
 and by removing the tests altogether in some cases.

You should get a more recent mingw that has an ntdll import library,
it will probably work much better then (yes there is still an issue
with libuuid, but removing tests is clearly not the right fix).

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [winecfg 2] Merge X11DRV dialog code from Mark, bugfixes

2003-08-27 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 - Merge X11DRV dialog code from Mark
   - Move X11DRV dialog init code to a separate file
   - Link with Xlib to get XParseGeometry

winecfg is supposed to be a windows app, it must not depend on Xlib.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Allow use of MAP_TRYFIXED for better mmap()

2003-08-27 Thread Alexandre Julliard
Todd Vierling [EMAIL PROTECTED] writes:

 In general, this holds true with other applications on NetBSD.  If a feature
 appears in the C headers, it is assumed to exist.  The patch is in line with
 NetBSD's compatibility principles.

Of course this implies that everybody builds all their apps from
source. But if that's what NetBSD people expect then it's OK with me.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Allow use of MAP_TRYFIXED for better mmap()

2003-08-27 Thread Alexandre Julliard
Todd Vierling [EMAIL PROTECTED] writes:

 No, it implies that a built binary requires a kernel at least as new as the
 .h files used when building.  This is NetBSD (and SysV and ...) standard
 practice, and is the foundation of how autoconf tests work.

 The common practice of Linux users shuffling back and forth on kernel
 versions is a glaring exception to this common-sense rule.  8-)

It's not really a question of shuffling back and forth, it's that
different users have different kernels; so if you want to ship a
binary that works for everybody, with your method you have to stick to
the lowest common denominator. With run-time checks you can have a
binary that takes advantage of new kernel features, while still
running everywhere. Obviously it's a bit more complex to implement, so
you only want to do that where there's a real gain in using the new
features; still I think the concept applies for all platforms.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH - winnt.h move non-standard language IDs to wine/port.h

2003-08-26 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 I agree with this, but the two issues are completely orthogonal.
 One deals with how we organize extensions, one on how to use them.
 I am 100% with you that a portable implementation is better -- it
 is in fact the same pattern adopted by 'configure'. However, this
 says nothing about where to place such extensions. In fact, I would
 argue that placing such extension in explicitly designated headers
 will actually help Winelib developers. For one, it will make it a
 lot more explicit when they will have to use the portable pattern
 you were advocating. Otherwise, if development happens user Winelib,
 this can be easily missed. Moreover, it allows projects to easily
 enforce (by giving them the means to trivially check were Wine
 extensions are being used) certain policies about when/where/how
 Wine extensions are acceptable.

 For portability, people will have to simply do:
 #ifdef __WINE__
 #include wine/extensions.h
 #endif

 just like they do with HAVE_XXX_H tests. It fits in rather well, no?

I don't agree that the issues are orthogonal, I think that how we
organize the extensions very much depends on how we want people to use
them. Also I think your approach does not encourage the right pattern,
it actually suggests using #ifdef __WINE__ everywhere.

I think the main question is whether or not we want to encourage use
of the extensions. If we want to encourage it, then they should be in
the default headers; if you need some magic incantation to make them
available nobody will bother. Now, if we'd rather encourage portable
code that doesn't use extensions, then IMO we shouldn't export them at
all, and let people who really want them go to the trouble of copying
them from Wine internal headers.

There's also the issue of backwards compatibility; many of the
extensions are for things that aren't documented by Microsoft at this
point, but that may become documented one day. If that happens and the
extension is already in the standard headers then it's completely
transparent; but if it's in wine/extensions.h then we'll have trouble
keeping everything in sync.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH - winnt.h move non-standard language IDs to wine/port.h

2003-08-26 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 Well, first off, it's not clear that we provide any worthwhile extensions
 to warant all the complications. In fact, due to the scattered nature of
 said extensions, I don't even have a good idea of what extensions we have
 and if they are worthwhile. BTW, any user (that is app developer) will be
 in the same situation. Second, I don't think a simple include qualifies to
 the rank of magic incantation -- it's the least obtrusive way of letting
 people know they are using something non-standard. Thirdly, the backwards
 compatibility you mention is a big can of worm, and I think it's a bit of
 a red herring -- binary compatibility will most likely be busted anyway,
 what are the chances we're going to pick the same binary value as MS?

For things we invent ourselves the chances are pretty small, but most
extensions are for undocumented stuff, where the values/function
names/etc. are defined by MS already, only they are not part of the
normal headers; winternl.h is a good example of that.

 I have to admit I play the devil's advocate role in this debate. From my
 POV the biggest benefit is that we'll have a _simple_ rule for our headers:
 keep them as close as possible to the MS' one. Not a simple task, and
 experience has shown that the simple the rule/principle, the easier to
 understand and implement. We've learned the hard way many atimes that playing
 smart does not pay. There are places where it's worth doing, but it's far
 from clear that we have such a compelling reason to break this principle
 in this case.

The problem is that the as close as possible rule also implies not
creating new headers; so either way we are breaking the rule, and IMO
it's better to keep a few extra definitions in the normal headers,
close to where they belong (for instance the extra LANG_* constants
next to the other LANG_ stuff) than splitting them to a separate
header.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [RESEND] Sync (47): shlwapi tests

2003-08-25 Thread Alexandre Julliard
Francois Gouget [EMAIL PROTECTED] writes:

 On Sun, 24 Aug 2003, Jon Griffiths wrote:
 [...]
 Note that a regression is something that used to work, and now
 doesn't. So any regression testing should only report failures for
 tests that used to work and now don't. New tests that fail, or those
 that have never succeeded, _aren't_ regressions, and shouldn't be
 marked

 These are not regression tests but conformance tests. They should report
 anything that does not conform to the Windows behavior as an error.

I disagree, as far as I'm concerned they are definitely regression
tests. If we only wanted to check conformance then it would be OK for
tests to fail everywhere we are not compatible; it's because the tests
must be usable to find regressions that we cannot have failing ones in
the tree. And that's why we have the todo_wine macro to mark tests
that are expected to fail.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: remove some __WINESRC__es

2003-08-25 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 No need to clutter the header files with these tests.
 We have enough of a review process in place to avoid
 such things, and in any way, things like

 #ifdef __WINESRC__
 # undef UNICODE
 #endif  /* __WINESRC__ */

 simply encourage bad coding, hides problems, and it's
 confusing.

I agree for UNICODE, but not for NEAR, FAR etc. Allowing them in Wine
will actually encourage bad coding, since we will see FAR pointers pop
up all over the place. A better approach would be to #define them to
something like do_not_use_this when building Wine.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [RESEND] Sync (47): shlwapi tests

2003-08-24 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

 Any problems with this one?

You said yourself that the some of the tests are currently failing;
I cannot commit tests that fail, that would make the regression test
suite useless.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Usage of remove_timeout_user in the wineserver

2003-08-23 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 Basically the callback for the timeout is called, and the callback (for
 instance in set_next_timer:queue.c) calls remove_timeout_user() which
 does a free( user ), but at the end of handle_timeout() it also performs
 a free, so I think the same timeout struct is freed twice.

That shouldn't happen, the timeout can be either handled or removed,
but not both. Exactly where do you see this happen?  Do we somewhere
call remove_timeout_user while handling the timeout?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH - winnt.h move non-standard language IDs to wine/port.h

2003-08-22 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 I think this will make the mingw work a lot simpler. And in general, it
 will make things a lot more explicit in terms of what is standard and
 what is a Wine extension, and this is good.

 Do we get the go ahead? :)

No, actually the more I think about it the less I like it. The problem
with that approach is that if an app uses wine/extensions.h, not only
you can't it build under Windows without somehow obtaining the Wine
header first, but once you compile it it will use all sorts of
extensions that won't work under Windows.

IMO it's better to leave the extensions in the normal headers and make
the code deal with missing definitions in case you are building under
Windows. So instead of importing the definition of say LANG_GAELIC
from some Wine header, you wrap that code in a #ifdef LANG_GAELIC, and
then the app can build and run correctly both on Windows and Wine. We
could also wrap the extensions with #ifndef WINE_NO_EXTENSIONS in our
headers so that you can define that symbol when building under Wine to
make sure your code is portable.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: patch 6

2003-08-21 Thread Alexandre Julliard
[EMAIL PROTECTED] [EMAIL PROTECTED] writes:

 Added my email next to my name in cmdlgtst /It.rc

It's better to avoid putting email addresses in source files, they
quickly become obsolete and nobody ever bothers to update them. Just
put your name there, and people who want to mail you can look up your
most recent address in the Changelog.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH - winnt.h move non-standard language IDs to wine/port.h

2003-08-21 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 We still have a few (hard to remove) #ifdef __WINESRC__ in our headers.
 We all agree they should be removed, but they are not trivially removable
 right now. I say we should move all such extensions to a wine/internal.h
 header. This will accomplish a few things:
   -- make the task of compiling with other headers a lot easier. This will
  further result in more portability and header fixes for our standard
  headers, which is a Good Thing(TM).
   -- the wine/internal.h include should be included only from .c files,
  thus explicitly marking such offenders, and providing a list of
  things that need to be addressed.
   -- the wine/internal.h header itself will serve as a quick TODO for
  people interested in fixing these. The last two points will also
  make it easier to see where we're using undesirable extensions.

 Whatdayasay?

I don't think the problem is so much with internal definitions, pretty
much all of them are gone at this point. The problem is really with
extensions that we want to make available to applications too, like
the extra languages. We could have a wine/extensions.h header, but I'm
not convinced we can really move everything there without creating a
big mess.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH try 2 - build libwine_unicode with w32api headers

2003-08-20 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 Ok now with clean w32api headers from CVS we can build unicode. This shouldnt break 
 cross
 compiling or the *nix build but if it does please let me know. Also you can change 
 WINVER =
 0x0500 to whatever as long as it is higher.

It seems to me the w32api headers should define WINVER to the higher
version that is supported, defining it in the app should only be
necessary if you want compatibility with older versions IMO.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH - some build fixes for w32api headers

2003-08-20 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 Changelog: Fixes for building with w32api headers on Mingw

Why do you need to add stdarg.h everywhere? AFAICS it should be
already included by the headers that require it.

As a general note, it's a very good thing to test with other headers,
but make sure that the problem is really on the Wine side before
making changes. Being compatible with w32api is not a goal in itself
for Wine, we have to be compatible with Microsoft; and if the Wine
code works with the Microsoft headers but not with w32api then the bug
is in w32api and should be fixed there.

And in the case where the bug is really in Wine, this means there's an
incompatibility in the Wine headers, since it builds fine with them
and it shouldn't. So this means we have to fix the Wine headers too,
not only the C files.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH - some build fixes for w32api headers

2003-08-20 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 --- Alexandre Julliard [EMAIL PROTECTED] wrote:
 Why do you need to add stdarg.h everywhere? AFAICS it should be
 already included by the headers that require it.

 While the WINE winbase.h includes these lines w32api and the copy of SP3 for MS_VC6 
 does not. 

 #ifndef RC_INVOKED
 #include stdarg.h
 #endif

OK, then the patch is correct, but you should also remove that
stdarg.h from the Wine headers, to make sure that the problem doesn't
come back.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Build broken due to -lpthread

2003-08-20 Thread Alexandre Julliard
Gerald Pfeifer [EMAIL PROTECTED] writes:

 Wine fails to build on FreeBSD 4.8 with the following failure mode:

   /usr/bin/gcc -c -I. -I. -I../../include -I../../include -I/usr/X11R6/include 
 -D_REENTRANT -fPIC -D__WINESRC__  -Wall -mpreferred-stack-boundary=2 
 -fno-strict-aliasing -gstabs+ -Wpointer-arith  -g -O2 -o glu32.spec.o glu32.spec.c
   /usr/bin/gcc -shared  -Wl,-Bsymbolic,-z,defs glu32.spec.oglu.o
 glu32.dll.dbg.o -o glu32.dll.so -L../../dlls  -L../../libs/wine -lwine
 -L/usr/X11R6/lib  -lSM -lICE -lXxf86dga -lXxf86vm -lXv -lXext -lX11
 -lGL -lGLU -lpthread -L../../libs/port -lwine_port  -lm  -lc
/usr/libexec/elf/ld: cannot find -lpthread

So what's the right way to link with libpthread on FreeBSD?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: REGRESSION: environment variables no longer possible

2003-08-19 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 Actually it's just the format of the Wine config has changed. Now all
 environment variables should be surrounded by the percent signes (%HOME%),
 and are handled by the normal registry code. Alexandre has changed the sample
 config as well.

Actually the format of the config has not really changed, most entries
have been behaving that way for a long time already. I just made the
drives part of the config behave like all the other entries.

 Attached patch is rather useless, but however it makes the old profile
 code be consistent with the new behaviour. A better approach is to
 completely remove environment handling from profile.c.

Yes, I think environment handling should be left to the application.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Parse error when trying to build imagehlp with the w32apiheaders

2003-08-19 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 Does anyone have any idea as to what is going on here. I dont really see why mingw 
 has a problem. 

 access.c: In function `ImageUnload':
 access.c:204: parse error before LOADED_IMAGE
 access.c:210: parse error before LOADED_IMAGE
 make1: *** [access.o] Error 1

It looks like the mingw headers are missing the CONTAINING_RECORD
macro.
 
-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: REGRESSION: environment variables no longer possible

2003-08-19 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 While this makes sense from a separation perspective, it will prove to
 be very inconvenient in practice. For decent integration we need access
 to the environment, and having wrapper over wrapper to do these things
 is not convenient. 

I don't see why it would be any different than running under
Windows. If the app supports environment variables in its .ini file
under Windows then it will support them under Wine, otherwise it
won't. I don't think we should magically expand things in .ini files.
Environment variables in the Wine config file itself are supported, as
long as you use the Windows syntax.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH - msvcrt.spec exports

2003-08-14 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 This is untested on *nix build. With this we can build and link regression tests on 
 Mingw again.

 Changelog:
 Casper Hornstrup chorns_at_users.sourceforge.net
 Fix export definition _onexit and atexit.

This is wrong, _onexit and atexit are functions, not variables. The
bug is in Mingw.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Small cleanup

2003-08-14 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 Sorry, I don't quite understand: these defines are present only when
 compiling user32. Now, how do we know what defines MS uses to compile
 their user32? How can this ever be relevant to us?

We know because the defines are used in the Microsoft headers for the
dllimport stuff. We don't need them for that purpose, but we could
still use them for something else, like optimizations.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Small cleanup

2003-08-14 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 ChangeLog
   Remove unused defines.

The idea is to have the same defines as Windows; even though we don't
actually need them at this point we might want to someday.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [X11DRV] Re-add support for the 'UseXShm' config key.

2003-08-14 Thread Alexandre Julliard
Lionel Ulmer [EMAIL PROTECTED] writes:

 Well, sometimes, in some rare debugging cases, it's useful to have it, yeah.

But is it useful enough to justify exposing it, documenting it,
explaining to users they shouldn't touch it, etc.?  IOW do you use it
often enough that it's painful for you to have to modify the source
and rebuild to disable it?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: cab_G_00-pre1 (RFC)

2003-08-14 Thread Alexandre Julliard
Gregory M. Turner [EMAIL PROTECTED] writes:

 Would love to hear if I have not done things in a properly
 SETUPAPI way, i.e., am I supposed to be performing certain
 logging or memory allocation rituals, anything like that? 

One ritual is that you should not use msvcrt from other dlls, this
will cause trouble with apps that use the Unix libc.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Accept SIZE_MAXIMIZED as one of statuses of MDI windows

2003-08-14 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 @@ -1070,9 +1072,10 @@ STATUSBAR_WMSize (STATUSWINDOWINFO *info
  width = parent_rect.right - parent_rect.left;
  x = parent_rect.left;
  y = parent_rect.bottom - infoPtr-height;
 -MoveWindow (infoPtr-Self, parent_rect.left,
 - parent_rect.bottom - infoPtr-height,
 - width, infoPtr-height, TRUE);
 +SetWindowPos(infoPtr-Self, HWND_TOP,
 + parent_rect.left, parent_rect.bottom - infoPtr-height,
 + width, infoPtr-height, SWP_NOZORDER);
 +

What is this change for?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend 3rd time ] SetMenu patch

2003-08-14 Thread Alexandre Julliard
Oleg Prokhorov [EMAIL PROTECTED] writes:

 Cause:
 SetMenu was limited to update client/non-client only if window is
 visible, while MS Windows SetMenu updates it anyway.

 Changelog:
 SetMenu always updates client/non-client.

This causes a SetWindowPos to happen during window creation, before
the window is properly initialized, with bad results. This will need
more work I'm afraid.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Implement a typelib loader cache

2003-08-14 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 ChangeLog:
 Implement a typelib loader cache

You'll need to protect the list with a critical section. Also it's
probably better to store the list directly in the typelib structure
instead of allocating a separate object.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Add support for CS_NOCLOSE

2003-08-14 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 Hello,

 Changelog:
 Dmitry Timoshkov [EMAIL PROTECTED]
 Add support for CS_NOCLOSE.

This is implemented already in MENU_InitSysMenuPopup; if it doesn't
work right it should be fixed there.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: wine/ scheduler/pthread.c dlls/ntdll/sysdeps.c

2003-08-14 Thread Alexandre Julliard
Rein Klazes [EMAIL PROTECTED] writes:

 This causes thread related failures on my Debian unstable system using
 glibc 2.3.2 (nptl not enabled). For example his is Agent after calling
 WSAAsyncGetHostByName:

 | Unhandled exception: page fault on read access to 0xdbdbdbe3 in 32-bit code 
 (0x402ddfaa).
 | In 32-bit mode.
 | 0x402ddfaa (NTDLL.DLL.memcpy+0x65fe6 in libc.so.6): testb   $0x1,0x8(%eax)
 | Wine-dbgbt
 | Backtrace:
 | =0 0x402ddfaa (NTDLL.DLL.memcpy+0x65fe6 in libc.so.6) (ebp=42302e38)
 |   1 0x402e0195 (NTDLL.DLL.memcpy+0x681d1 in libc.so.6) (ebp=42302e98)
 |   2 0x4175b8d7 (_async_queryfun+0x1d3(arg=0x4041e480) [async.c:401] in 
 ws2_32.dll.so) (ebp=42302f14)
 |   3 0x400a0e93 (THREAD_Start+0xd3 [thread.c:1622] in libntdll.dll.so) 
 (ebp=42302fe0)
 |   4 0x400ba9e3 (SYSDEPS_StartThread+0x27(teb=0x42303000) [sysdeps.c:154] in 
 libntdll.dll.so) (ebp=42302ff4)
 |   5 0x402cf217 (NTDLL.DLL.memcpy+0x57253 in libc.so.6) (ebp=)

 (it crashes inside gethostbyname(), without obvious reason).

I think this should be fixed in current CVS, please give it a try and
let me know how it works.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: wine/ windows/winproc.c windows/win.c windows/ ...

2003-08-14 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 Can we use the C99 initializers, like they do in the Linux kernel? 
 I think they'll do a better job in this case. This one looks a bit 
 too cryptic for me.

I don't think we want to depend on C99 features, no. It could be made
clearer with comments etc., but that declaration is just a magic
incantation that's not going to change, so IMO it doesn't really
matter if it's a bit cryptic.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Accept SIZE_MAXIMIZED as one of statuses of MDI windows

2003-08-12 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 HWND_TOP of course should be replaced by 0 since SWP_NOZORDER
 is specified. The change is aimed to be a simple optimization.

Then you'd need to add SWP_NOACTIVATE for it to be identical to the
previous code; but I don't think this kind of micro-optimization is
useful, if all we want is to move the window it's clearer to use
MoveWindow IMO.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: dmusic loader question

2003-07-28 Thread Alexandre Julliard
Dustin Navea [EMAIL PROTECTED] writes:

 --- Rok Mandeljc [EMAIL PROTECTED] wrote:
 BTW, is it illegal to use MSDN examples to implement stuff in wine
 (EULA...)?

 Fortunately, AFAIK, it is not illegal.  It is only illegal to reverse
 engineer a compiled file, or to use copyrighted source obtained through other
 methods without the author's consent..

Well it's certainly illegal to directly copy code from the MSDN
examples; please don't do that.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: cards.dll, first patch

2003-07-26 Thread Alexandre Julliard
Jonathan Wilson [EMAIL PROTECTED] writes:

 No code or images have been taken from anything thats (c) microsoft
 although studying cards.dll in IDA did help me to figure out how it
 all works :)

That's not a good idea at all. Your code is obviously a straight
transcription of the disassembled code, with lots of magic numbers and
meaningless variable names. That is not an acceptable way of
implementing something for Wine.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Make aclocal.m4:WINE_GET_SONAME more flexible

2003-07-24 Thread Alexandre Julliard
Todd Vierling [EMAIL PROTECTED] writes:

 The following patch to aclocal.m4 (will require a run of autoconf after
 changing to pick up the change) will make WINE_GET_SONAME work on NetBSD,
 and likely the other *BSDs.  It is still Linux compatible -- in fact, this
 new incarnation returns the fully qualified path to the shared object,
 eliminating fears of runtime linking path searches.

I don't think that's a good idea. There is no guarantee that the full
path is valid on other systems, and we don't want to bypass the user's
LD_LIBRARY_PATH settings.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Make aclocal.m4:WINE_GET_SONAME more flexible

2003-07-24 Thread Alexandre Julliard
Todd Vierling [EMAIL PROTECTED] writes:

 Nor is there a guarantee that the non-full path is ABI compatible on other
 systems, which was the point of allowing the full path (for system
 libraries, mind you, not Wine's own) through.

I don't see why it wouldn't be ABI compatible; that's the whole point
of finding the soname, so that we get the proper version of the
library. The full path is completely irrelevant; when you dynamically
link an app the linker doesn't store the full path to the system
libraries either, just the soname. That's exactly what we are doing
here.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: wine/. configure.ac configure

2003-07-24 Thread Alexandre Julliard
Marcus Meissner [EMAIL PROTECTED] writes:

 Which file/functions gets broken by strict aliasing?

Well, everywhere we get an aliasing warning, there is potential for it
to be miscompiled. And the Windows API is so bad at using correct
types that I'm not sure we can really hope to ever have strict
aliasing do the right thing.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Define WINEPREFIX if it doesn't exist

2003-07-23 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 But in order to read ~/.wine/config WINEPREFIX should be either already
 detected or any default value used. Why not use that value everywhere
 else? After all, what is the problem with using a default value, which
 actually is being already used?

The problem is that you can't depend on it being set, because Wine is
supposed to work fine without it. Setting it in the wrapper script
won't change that, because the wrapper is only used when running from
inside the source tree.

 But that would effectively invalidate all the efforts to make Wine easily
 configurable. There are situations when somebody wants by changing single
 environment variable get completely different Wine environment: with distinct
 registry, config, win.ini, .ppd and other files...

On the contrary, it's even easier to configure if you don't have to
install generic.ppd at all and it just uses the global one. You could
still specify it in the config file if you really wanted, but you
shouldn't have to. Of course if you want multiple Wine environments
with different generic.ppd files then you need to tweak the config;
but that's definitely not the standard case.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Define WINEPREFIX if it doesn't exist

2003-07-23 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 How about the following solution: do not set WINEPREFIX in the startup
 script, just add it to the Wine environment (possibly even not propagating
 it to the Unix environment) in the case it wasn't already set?

I don't think we want to modify the environment unless really
necessary, and IMO it's not necessary in that case.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Define WINEPREFIX if it doesn't exist

2003-07-22 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 Define WINEPREFIX if it doesn't exist.

Why do you need that?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Ensure ole32.dll gets correct version number

2003-07-22 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 The primary motivation for this bugfix was to enable the DCOM98
 installer to work again correctly. It requires at least  4.something,
 otherwise it refuses to install. As our OLE framework isn't yet up to
 scratch for some tasks, being able to install it is important (hopefully
 once I finish digesting Oves work maybe it will be less important).

You may be able to install it by playing with the load order (i.e. set
ole32 to native only). Having a bogus version in the builtin is going
to force everybody to install the native, which is not what we want.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Mach-O Support in WineLib Loader (2) dlopen

2003-07-22 Thread Alexandre Julliard
Pierre d'Herbemont [EMAIL PROTECTED] writes:

 On the previous patch I would like your comment on the way to force
 ntdll to be loaded as RTLD_GLOBAL. Ntdll can't be built currently as a
 dynamic library (loadable at runtime). By the way I would like to now
 why is ntdll linked to dlls? Maybe this patch could apply to linux and
 others also, on a proper way.

kernel32 is linked to ntdll because dll separation is not finished;
hopefully this will be fixed soon.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: new utillity for wine, genguid

2003-07-22 Thread Alexandre Julliard
Jonathan Wilson [EMAIL PROTECTED] writes:

 ok, is this better?
 Included as one big patch
 Also, added blank line, changed coding to 4 spaces instead of tab
 and, changed options to use what you suggested.

It looks good, but I'm not convinced we really need that in Wine,
there are Unix tools that can generate UUIDs.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Define WINEPREFIX if it doesn't exist

2003-07-22 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 Why does wineps complain that it couldn't load %WINEPREFIX%/generic.ppd
 specified in the config in the case WINEPREFIX is not set in my environment?

Because WINEPREFIX is not set of course. The solution is not to set it
unconditionally, but to fix your config and/or wineps to do the right
thing when WINEPREFIX is not set.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Define WINEPREFIX if it doesn't exist

2003-07-22 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 I'm not sure what do you mean by the right thing here. Do you mean that
 I'm not allowed to use WINEPREFIX in the config, or you mean that every
 single dll should have its own ExpandEnvironmentStrings implementation?
 Something else?

Well, you cannot use WINEPREFIX in the config file that is in
~/.wine/config, since it can potentially be used without the prefix
being set. The easiest is to replace %WINEPREFIX% by %HOME%/.wine in
that specific config file.

A more elaborate solution would be to make wineps look in the prefix
dir when it gets a relative dir, like the drive config code does. I'm
not convinced we want to do that though, IMO it would be better to
install generic.ppd globally and make wineps default to something like
$(libdir)/generic.ppd.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Define WINEPREFIX if it doesn't exist

2003-07-22 Thread Alexandre Julliard
Dmitry Timoshkov [EMAIL PROTECTED] writes:

 I have several Wine trees locally, and start up scripts some of them
 set WINEPREFIX to a non default value. In order to avoid setting it
 in my ~/.profile I'd prefer that each Wine start up script sets this
 either to each own unique value or, if it has no special preferences,
 set it to the default one.

I still don't see why you want that, if it's not set Wine will use the
default one already.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: More Red Hat b0rkage?

2003-07-21 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 I know Wine has some issues with some kernel security patches and memory
 regions. Can anybody confirm that this won't cause issues:

It will, but there's a 'chstk' tool (that hopefully RedHat is shipping
along with their kernel) that lets you set a flag in the Wine binary
to make it go back to normal stack behavior.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PATCH: shlwapi

2003-07-21 Thread Alexandre Julliard
Marcus Meissner [EMAIL PROTECTED] writes:

 Changelog:
   Numbers without prefix are int (32bit signed). If you
   want long long (64bit signed), append LL.

LL is not portable, this needs to be done with casts.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [resend] Ensure ole32.dll gets correct version number

2003-07-21 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 diff -u -r1.1 version.rc
 --- dlls/ole32/version.rc 28 Mar 2003 19:33:04 -  1.1
 +++ dlls/ole32/version.rc 13 Jul 2003 13:09:17 -
 @@ -21,4 +21,8 @@
  #define WINE_OLESELFREGISTER
  #define WINE_FILENAME_STR ole32.dll
  
 +#define WINE_FILEVERSION_STR 2.0
 +#define WINE_FILEVERSION 2,0,0,0
 +
  #include wine/wine_common_ver.rc

Version 2.0 is awfully old for ole32.dll. Why do you need that?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync (29): msvcrt cpp

2003-07-21 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

   +dlls/msvcrt/cpp.c
 Use exception as the base for all exception derived classes.
 Implement type_info methods correctly.
 Add static RTTI for exported objects.
 Throw exceptions when run time casts fail.

Why did you remove all the structure definitions for the derived
classes?  I think it's much clearer to have a separate C type for each
class instead of having everything be an exception object.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: System tray integration take 5

2003-07-21 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 +#define MAX_TRAY_ICONS 256
 +int undockedTrayIconsCount = 0;
 +static HWND undockedTrayIcons[MAX_TRAY_ICONS]; /* stores HWNDs of undocked tray 
 windows when a
 +   NETWM tray window appears, we can 
 dock */

You shouldn't use a global array here. This is not thread safe, plus
you'd need to keep track of window destruction to remove them from the
array. The right way IMO would be to walk the window tree checking for
WS_EX_TRAYWINDOW at the time a tray window appears.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Mach-O Support in WineLib Loader (2) dlopen

2003-07-21 Thread Alexandre Julliard
Pierre d'Herbemont [EMAIL PROTECTED] writes:

 This patch provides Mach-O support in WineLib. As Mach-O doesn't have
 init and fini section, it adds support for it in dlopen. A new file
 mach-o.c is created. It contains functions which add support for init,
 and fini section.

Isn't there any way to have an init function?  How does Mach-O support
C++ constructors?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: update Re: My wine turned to vinegar... vanilla wine isn'tbroken, is it?

2003-07-20 Thread Alexandre Julliard
Gregory M. Turner [EMAIL PROTECTED] writes:

 Of course, this is totally my fault for having two ntdll's in my library 
 path... and thank goodness for make uninstall, which made fixing this 
 easy... but, under the circumstances, shouldn't the loader be loading just 
 /one/ ntdll, even if it's the wrong one or whatever?

It's because ntdll is looked for both in WINEDLLPATH (for explicit
dlopen calls) and in LD_LIBRARY_PATH (when ld.so loads dependencies),
and if that yields two different files then both get loaded, with bad
results as you have noticed. This will be fixed once kernel32 dll
separation is finished.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: something I intend working on that will help make wine morecomplete

2003-07-20 Thread Alexandre Julliard
Francois Gouget [EMAIL PROTECTED] writes:

 IMHO the more complete our spec files the better. Even if we just add
 stubs.

In many cases apps will check for a function existence and call it if
it exists, so adding a stub can actually break things compared to not
having the function at all. If you want to add all these stubs then
I'd suggest commenting them out until they either get implemented, or
we find an app that really needs the entry point.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: something I intend working on that will help make wine morecomplete

2003-07-20 Thread Alexandre Julliard
Francois Gouget [EMAIL PROTECTED] writes:

 We already have a lot of stubs in the spec files. Does it mean we should
 comment them out? Of course, that too could break applications.

For functions that exist in all versions of Windows, clearly there's
no point in commenting them out since apps won't have fallbacks. But
for functions that have been added recently it's usually better to
leave them commented out until they are needed; and in fact that's how
it's done already in some of the spec files.

 IMHO we should add all the stubs we want and comment out only those that
 are confirmed to cause an application to crash. And preferably after
 trying to implement the stub which is of course the best solution.

There is little difference between a stub and a commented out entry
point, so there's no real reason to add stubs unless an app requires
the entry point (in which case we'll get an error message). Adding
stubs for everything will only cause more crashes without improving
other apps.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync(20): ntdll/tests/rtlstr.c

2003-07-19 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

 I'm aware of that, but it doesn't come by default with visual
 studio.net enterprise edition. I don't see why we should require a
 ddk download in order to compile the tests- IMO they should work out
 of the box with a standard install of the tools.

It's actually part of the SDK, and I think it's perfectly reasonable
to require that you have an up to date SDK to build the tests.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Once again: Wine without X?

2003-07-18 Thread Alexandre Julliard
Eric Pouech [EMAIL PROTECTED] writes:

 It wouldn't be very difficult to set the User32 Driver on a pgm per
 pgm basis.

Actually that's far from trivial, since many things access windows
from other processes and depend on these using the same graphics
driver. The right fix is to delay x11drv initialization until we
really need it.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync(1): include/winerror.h

2003-07-18 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

 This patch casts hresult errors into HRESULTs as per the native
 headers.

The native headers don't have a _HR_() macro, so we shouldn't have one
either. Please do normal casts instead.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync (31): winbuild relay

2003-07-18 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

   +tools/winebuild/relay.c 
 Remove redundant multiple calls to fprintf()

There's no reason to do that. The existing code is just fine, and much
easier to modify.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync (37): shlwapi regstream

2003-07-18 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

 +#ifdef __WINE_USE_MSVCRT
 +#define FS_I64 %I64d
 +#define FS_UI64 %I64u
 +#else
 +#define FS_I64 %lld
 +#define FS_UI64 %llu
 +#endif

Please don't do that, it's not portable anyway. Simply print high and
low part separately with something like %lx%08lx.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync(18): msvcrt cpp exceptions

2003-07-18 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

   +dlls/msvcrt/cppexcept.c
 strip dump code when NO_TRACE_MSGS is defined

The compiler should optimize this out, and even if it doesn't that's
no big deal. It certainly doesn't justify adding #ifdefs.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync(20): ntdll/tests/rtlstr.c

2003-07-18 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

 +/* Define the undocumented types we need here as there is no native header */
 +typedef struct _STRING {
 +  USHORT Length;
 +  USHORT MaximumLength;
 +  PCHAR Buffer;
 +} STRING, *PSTRING;
 +typedef const STRING *PCANSI_STRING;

Actually there is a native winternl.h that defines these. You may need
to upgrade your headers.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync (44): documentation/Makefile.in

2003-07-18 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

 Yup, sadly, its too late for that. I think this is a bug in earlier
 db2htmls where it 'forgets' that it has decended into a directory to
 make the html and should adjust any relative dir paths accordingly.
 Later versions (correctly) fix the bug, so its more of a backwards
 compatability issue than having to support a bunch of truly
 incompatable versions, AFAICS.

There's no reason to worry about being compatible with broken versions
of the script; very few people need to generate the documentation, and
these people can upgrade to a properly working script.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Sync (32): winbuild msvcrt

2003-07-18 Thread Alexandre Julliard
Jon Griffiths [EMAIL PROTECTED] writes:

 - Functions exported by name only should not be given ordinal numbers
 in the .def output, so that link.exe can fill up empy ordinal slots
 and create a valid export table. Not doing this leads to an incorrect
 export table without any warnings or errors during the build.

We use the ordinal to generate the proper hint in the import table, so
this is not a good idea.

 - We need the stub functions to be present in the final dll file, or
 our ordinal functions cannot be accessed. This is because link.exe
 requires that all ordinals be present in order to generate a correct
 ordinal export table.
 This in turn requires that the .spec.c files compile correctly under
 msvc, in order to get the stub functions included in the link.
 However, we obviously don't need the pe header or export tables that
 winebuild generates, since link.exe (and any other PE linker, for
 that matter) does this work for us.

The .spec.c file must not be used on Windows IMO. If the MS linker is
really that brain damaged then you'll need to make sure you have valid
functions for all entry points, or use a better linker (mingw should
work AFAIK).

 - Several symbols are expected to be exported as private and by name
 only, or they generate warnings when creating the .lib and .exp files
 for the dll. This requires identifying said symbols, and correctly
 generating and parsing the PRIVATE flag in .def files.

I'd suggest specifying that in the spec file instead of hard-coding
the symbols in winebuild.

Also please try to split your patch, there are clearly different
changes in there, it would be a lot easier to analyze them
independently.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: PPC CPU Detection in configure

2003-07-13 Thread Alexandre Julliard
Pierre d'Herbemont [EMAIL PROTECTED] writes:

 Darwin's default gcc doesn't know the __PPC__ and the __powerpc__
 flags, but knows the __ppc__ and the __POWERPC__ flags, no luck :(
 . So I think we should defined them in configure, I dont think it is a
 problem on the linux side, is it?

No but we should pick one and use the same everywhere. I'd suggest
__powerpc__.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: API tracking and documentation

2003-07-13 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 Hello,
 The ReactOS project is interested in making a change to WINE the function commented 
 that would
 make API tracking a little nicer. We have implemented a web page like the mono 
 project has that
 shows the implemented and unimplemented functions in the API. Will the WINE project 
 accept patches
 to the comments to support this type of tracking system? It would be nice because 
 you guys could
 implement the same thing on your website. If the answer is no it is REALLY going to 
 be a PITA for
 us to diff our sources to yours for every function.

I don't think we want to clutter up the source code with this kind of
thing. We already have a status page on winehq.com, and while the
percentages are still very approximative, at least they have some
meaning. Doing statistics on the number of implemented/unimplemented
functions is useless, it doesn't give any information about how well
the dll will behave in real use. But if you really want to do that it
should be easy to maintain a list of functions in a separate file; or
you can simply grep for 'stub' in the spec files.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: LoadLibrary problem

2003-07-11 Thread Alexandre Julliard
Dimitrie O. Paun [EMAIL PROTECTED] writes:

 I'm back from my vacation! :)

Welcome back!

 The wrapper simply does a LoadLibrary for this DLL, and this
 LoadLibrary call fails. Here is the relevant part of a
   --debugmsg +module,+server

 Any ideas?

LoadLibrary doesn't support loading a .so directly at this point. You
need to pass it the .dll name and make sure the corresponding .so can
be found somewhere in WINEDLLPATH. Or you need to add .so support to
LoadLibrary...

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: CPU detection work

2003-07-09 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 ChangeLog:
 - Move performance frequency code to misc/cpu.c
 - New function, get_cpu_speed()
 - Make MHz registry key and QueryPerformanceFrequency use it

I was hoping you would merge the CPU speed detection with the rest of
the CPU info code, there's really no reason to parse /proc/cpuinfo
twice. Also the value that QueryPerformanceFrequency returns needs to
match the behavior of QueryPerformanceCounter, you can't simply divide
it by 1000.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Question about improving debugging on Mingw build

2003-07-09 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 I am interested in improving debugging for dlls built with either Mingw or MS_VC if 
 that is ever
 fixed. We are to the point now where a lot of needed dlls can be built with little 
 or no changes
 and so I would like to start doing some major testing on Windows and ReactOS but I 
 am unable to
 see TRACE/WARN/ERR and FIXME messages. Can we make libwine debug channels use 
 OutputDebugString or
 one of the *printf functions or hell even MessageBox on Windows?

The default implementation in libwine is doing a printf to stderr. Why
doesn't this work for you?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Question about improving debugging on Mingw build

2003-07-09 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 The last time I tested I couldnt get anything to work but now FIXME and ERROR do. I 
 guess maybe I
 did something wrong the last time I tried to test. Are the TRACE and WARN messages 
 only for
 WINEserver? Those still dont show up for me.

They are off by default, they are switched on by the --debugmsg flag,
which of course doesn't work for you... you can simulate it by calling
wine_dbg_parse_options() from somewhere in the app startup code.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Documentation spelling fixes 2 of 2

2003-07-08 Thread Alexandre Julliard
Tom Wickline [EMAIL PROTECTED] writes:

 I have spell checked most/all of the Docs :-)
 After these patches go in ill re-check everything again just
 incase I over looked something.

Please don't send a separate patch for each file, that's a real pain
to apply. Just send one big patch containing all the changes.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [RESENT] Subject: Release GWL_ID with DestroyMenue, eventually

2003-07-08 Thread Alexandre Julliard
Uwe Bonnes [EMAIL PROTECTED] writes:

 wine/controls/menu.c: DestroyMenu
 Release GWL_ID of lppop-hWnd if it is the same
 hMenu we are going to destroy

 This lets Capital Eimkommenssteuer 2003 (Infotax Steuer02) access it's Menu
 bar.

This is wrong, Windows doesn't do this, and it causes trouble. We
tried it once already and we had to back it out. The correct fix is to
change the menu handles management to behave more like window handles.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [RESENT]: Fixed winedbg example configuration

2003-07-03 Thread Alexandre Julliard
BiGgUn [EMAIL PROTECTED] writes:

 Changelog:
   Reorder lines for a typical winedbg configuration.

Your patch is wrapped; but anyway I don't see any reason to change
that, keys are sorted when registry files are saved so the order
doesn't matter.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Don't set stacking order against unvisible windows

2003-07-01 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 However, I think it unbreaks InstallShield, which is a fantastically
 common application. It might be a case of a lesser of two evils
 decision.

No it's a correct vs. wrong decision. The existing code is correct
and there's no reason to break it, even if doing that happens to mask
another bug.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [RESENT]Don't add empty lines when writing out profile files

2003-07-01 Thread Alexandre Julliard
Uwe Bonnes [EMAIL PROTECTED] writes:

 Changelog:
   wine/files/profile.c: PROFILE_Save
   Don't add lines for empty sections

This will cause us to delete keys that are before the first section
header, I don't think that's correct. Why do you need that?

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: iphlpapi Solaris fixes

2003-07-01 Thread Alexandre Julliard
Robert Lunnon [EMAIL PROTECTED] writes:

 @@ -787,7 +789,11 @@ DWORD getInterfaceMtuByName(const char *
  if ((ioctl(fd, SIOCGIFMTU, ifr)))
ret = ERROR_INVALID_DATA;
  else {
 +#if !defined sun
*mtu = ifr.ifr_mtu;
 +#else
 + *mtu=ifr.ifr_metric;
 + #endif

You should add a configure check for the structure field.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [dx61] d3d9 guid + d3d9 header fixes

2003-06-30 Thread Alexandre Julliard
Raphaël Junqueira [EMAIL PROTECTED] writes:

 Index: include/d3d9types.h
 ===
 RCS file: /home/wine/wine/include/d3d9types.h,v
 retrieving revision 1.2
 diff -u -r1.2 d3d9types.h
 --- include/d3d9types.h   24 Jun 2003 19:26:51 -  1.2
 +++ include/d3d9types.h   27 Jun 2003 22:14:40 -
 @@ -1131,8 +1131,10 @@
  typedef struct _D3DADAPTER_IDENTIFIER9 {
  charDriver[MAX_DEVICE_IDENTIFIER_STRING];
  charDescription[MAX_DEVICE_IDENTIFIER_STRING];
 -charDeviceName[32]; /* Device name for GDI (ex. 
 \\.\DISPLAY1) */
 -LARGE_INTEGER   DriverVersion;
 +charDeviceName[32];
 +DWORD   DriverVersionLowPart; 
 +DWORD   DriverVersionHighPart;
 +

Isn't DriverVersionLow/HighPart supposed to be for 16-bit code?  Why
do you need to use that instead of DriverVersion?

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Memory Protection Wierdness

2003-06-30 Thread Alexandre Julliard
Robert Lunnon [EMAIL PROTECTED] writes:

 But of course this code doesn't reset the page protections to allow the access.

 I Doctored this code so it would always allow the access and the installer then 
 completed OK, But worms itself will not run yet

 Q. Should all views have handlers ?  Under What Conditions would they not ???

No, most views don't need handlers. Except in specific cases like
guard pages or DIB handling, if a given page is marked as no access
then we very much want to crash if it is accessed. Resetting the
protections on all accesses would make page protections completely
useless. You'll need to investigate where that page comes from and why
it's not accessible.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Mac OS X Support : Asm syntax support [Fixed]

2003-06-30 Thread Alexandre Julliard
Pierre d'Herbemont [EMAIL PROTECTED] writes:

 Hum... If my memory is well I do use PPC_SYM in order to convert
 delay_imports to _delay_imports on darwin target. the assembler syntax
 requires it.

Yes, that's exactly what __ASM_NAME is supposed to do.

 If you want, but for me it seems that it is clearer this way. because
 you endup with things like:
 fprintf((output, \li  PPC_REG(1) , 0\\n\\n);
 fprintf(outfile, \t\\\tlis  PC_REG(9)
 PPC_LOW(delay_imports+%d,9)\\n\\n, pos);
 But in fact it is also readable. If you prefer this way I'll do what
 you like ;)

IMO it would be more readable with a separate function, and then
something like:

  fprintf( output, li %s,0, ppc_reg(1) );

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: [dx61] d3d9 guid + d3d9 header fixes

2003-06-30 Thread Alexandre Julliard
Raphaël Junqueira [EMAIL PROTECTED] writes:

 Yes, they are here for 16bit drivers. But for me its more easier to play 
 that way than with LARGE_INTEGERs.

 I'll fix it when the code will work.

I'm not sure I like that idea, I'm worried that if code starts
depending on that it will be a pain to fix later on. If you want to
write the code using 16-bit fields you can do that locally, but I'd
prefer that you then fix it before submitting, so that we don't need
to put wrong headers in CVS.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Don't set stacking order against unvisible windows

2003-06-30 Thread Alexandre Julliard
Uwe Bonnes [EMAIL PROTECTED] writes:

 Changelog:
 dlls/x11drv/window.c: X11DRV_sync_whole_window_position
 Don't specify a stacking order agains unvisible windows

This will break other things. The right fix is to make the desktop
option work correctly across processes.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: wine.texinfo.diff

2003-06-30 Thread Alexandre Julliard
Tom Wickline [EMAIL PROTECTED] writes:

 Changelog

 Change Copyright from 1997,1998 to 1997-2003

There's no reason to do that, this file hasn't really changed in a
long time.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: XEMBED System tray support

2003-06-30 Thread Alexandre Julliard
Mike Hearn [EMAIL PROTECTED] writes:

 +  /* now set sync the X11 window rects to the win32 window rects,
 + so the shell tray code can properly align the icon */
 +  
 +
 +  XTranslateCoordinates(display, data-whole_window, root_window,
 + 0, 0, x, y, child);
 +  XGetWindowAttributes(display, data-whole_window, attrs);
 +
 +  wine_tsx11_unlock();
 +
 +  r.left = x;
 +  r.top = y;
 +  r.right = r.left + attrs.width;
 +  r.bottom = r.top + attrs.height;
 +
 +  WIN_SetRectangles(hwnd, r, r);

This completely bypasses the normal window size handling, I don't
think that's a good idea. Positions changes should be handled by the
standard ConfigureNotify processing.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



  1   2   3   4   5   6   7   8   9   10   >